还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~
用VC实现组态王数据的远程共享
授权形式: 文档
更新时间: 2016-01-20 13:21:26
软件语言: 简体中文
软件平台: WinXP,Win7,Win8,Win10
软件类别: 电子书
文件大小: 203K
评论等级: ★★★☆☆
浏览次数: (今日:,本周:,本月:
软件简介

用VC实现组态王数据的远程共享

DDE:动态数据交换机制

交换机制

DDE是一种动态数据交机制(Dynamic Data Exchange,DDE)。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。
DDE(Dynamic data exchange)的工作原理是:
甲方申请一块全局内存,然后把内存指针postmessage到乙方,乙方根据收到的指针访问那块全局内存。有几个API函数是做这种事的,你在MSDN里查一下 Dde 打头的函数全都出来了。因为是已经淘汰的技术,连MFC他进行封装。很难保证它同样会出现在以后的Windows API中。
DDE 有三种连接方式:热连接、温连接、冷连接。
冷连接:客服建立连接后,何时传递数据由客户端决定。当客户端需要数据时向服务端发送一个数据请求消息。
温连接:不同于冷连接,由服务器主动发送数据更新请求,客户端决定是否更新数据。
热连接:服务器主动更新数据,不需要客户端确认更新。
VC API 下 DDE热连接实现进程间通信的大致流程:首先客服均需要 #include "ddeml.h" 包含相关函数声明,然后都要调用DdeInitialize(参数省略)函数设置回调函数及初始化,并且都要实现自己的回调函数。然后服务端调用DdeNameService(参数省略)注册服务,客户端调用DdeConnect(参数省略)建立会话并调用DdeClientTransaction(XTYP_ADVSTART)建立热式连接。之后,若想从客户端上传数据则客户端调用DdeClientTransaction(XTYP_POKE),若想从服务端更新数据则服务端调用DdePostAdvise(参数省略)。

现状

OLE = Object Linking and Embedding,从 16 位 Windows 时代发展而来,建立在 COM 基础之上(实际上 OLE 是 COM 的第一个实际应用,OLE 标准推出时,COM 标准还没有定型;COM 的成熟取决于 OLE 在技术上的成熟),我们所看到的 COM 标准是 0.9 版。请参考其他资料得到能全面的知识。

版本

在LabⅥEW6.0以后的版本里,DDE还是可以使用的,但是NI更提倡使用ActiveX,因此DDE的Ⅵ不会自动显示在函数模板上。如果使用,可以在labview X.X\\vi.lib\\platform\\dde.llb去找。
因为是已经淘汰的技术,连MFC都他进行封装。
很难保证它同样会出现在以后的Windows API中。
DDE = Dynamic Data Exchange,是 16 位 Windows 时代实现不同应用程序之间互相交换数据和控制的技术,Windows Shell 外壳打开某些文件类型还用到 DDE。
下载地址
分享到: