发表于:2007-11-02 14:05:00
楼主
原理
DDE 是一种动态数据交换机制(Dynamic Data Exchange,DDE。动态数据交换是微软公司提出的一种数据通讯形式,它使用共享的内存在应用程序之间进行数据交换。DDE不同于剪切板方法,它能够及时更新数据,在两个应用程序之间自动更新信息,无须用户参与。
使用DDE通讯需要连个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。
通信要素
两个程序间建立DDE通讯称作DDE会话,一个会话由服务名与话题来标识。DDE会话中包括很多数据项,每个数据项对应一个DDE项目名。如果通过网络与远程机器的DDE通信,还要提供远程节点的名称。机器名、服务名、话题和项目名构成DDE 通信的四要素。
机器名:远程机器名称,若为本机可以忽略。
应用名: DDE 服务器的名字,软件程序通常使用自己的名字作为应用名。紫金桥?支持 的应用名为DB。
话题名:DDE 服务器上数据组的名字。可能是数据的文件名或工作表名。紫金桥?支持 的话题名也为DB。
项目名:单个数据项。紫金桥?数据库中的点名加参数名为数据项名称。如:TI101.PV。
您可以通过一个形象的比喻来理解这四要素:把机器名想成某个人居住的“国家”,把应用程序想成“城市”,话题名当作“街道”,项目名当作“门牌号”。假如您要访问一个朋友,当您知道了他住在哪个国家后,哪个城市、街道和门牌号就能找到这个朋友了。
紫金桥?监控组态软件提供了DDE 客户和DDE 服务器支持。DDE 服务器可以使紫金桥?软件的过程信息传送到其它应用程序进行分析,例如微软的Excel软件。DDE 客户支持可以使来自其它应用程序的信息传送到紫金桥?的数据库中。
Net DDE配置
要想使DDE客户端程序通过网络访问远程DDE服务器,客户端计算机及服务器端计算机必须支持Net DDE(Windows NT/2000/XP/2003缺省支持,Windows 95/98不支持)。下面介绍一下NetDDE的服务器和客户端的相关配置操作。
服务器端配置
DDE服务器端需要以下四部分设置:
1. 建立用户以供客户端使用。
2. 启用Network DDE和Network DDE DSDM
3. 配置DDE共享
4. 端口设置
下面详细介绍一下各步骤的具体设置。
1. 建立用户
客户端通过Network DDE访问服务器时,需要以当前用户的身份登陆到服务器(系统自动完成登陆过程),所以在服务器端需要提供客户登陆访问时使用的用户。
打开“控制面板”,选择“管理工具”中的“计算机管理”,在导航树中选择“系统工具”下的“本地用户和组”,展开后在其中的“用户”上点击鼠标右键选择“新建用户”,如下图:
建立新的用户,注意口令不能为空。
2. 启用Network DDE和Network DDE DSDM
利用DDE远程访问数据需要用到Windows自带的Network DDE和Network DDE DSDM。在服务器中需要将Network DDE和Network DDE DSDM设置为自动启动。具体设置如下:
打开“控制面板”—“管理工具”下的“服务”一项,或者直接在运行中输入“services.msc /s”打开“服务”设置。找到Network DDE DSDM,双击打开属性对话框,在“常规”选项中将启动类型改为“自动”,并启动该服务,如下图,Network DDE也要进行同样的修改。
3. 配置DDE共享
只有在服务器中需要建立DDE共享,客户端才能够通过DDE远程访问到服务器中的数据。在运行中输入“DDEshare”打开“DDE共享”设置对话框。如下图:
配置DDE共享需要三步:选择计算机,DDE共享,设置信任共享。
(1) 选择计算机
选择服务器的名称,设置共享的计算机。打开“共享”菜单下的“选择计算机”,弹出“选择计算机”对话框,如下图:
服务器端所要选择的计算机为本机,选择本机名称即可。
(2) DDE共享
打开“共享”菜单下的“DDE共享”,弹出“DDE共享”对话框,如下图:
点击“添加共享”,弹出“DDE共享属性”对话框。如下图:
以采集紫金桥监控组态软件的数据为例,共享名自行设置,应用程序和话题名均为DB。
以上操作完成之后,点击右下方的“权限”按钮,打开“DDE共享名的权限”对话框。如下图:
这里有两种选择,1.直接选择everyone,访问类型为完全控制。2.点击“添加”,添加新建立的用户,访问类型同样为完全控制,如下图
选择“显示用户”,找到新建的ddeuser,点击添加完成添加过程。如果出现“文件名过长”的错误提示,可以在通过以下步骤修改计算机名称
(1)选择桌面“我的电脑”图标,点右键,选择“属性”,如下图
(2)选择计算机名,点击“更改”,如下图
* 填入新的计算机名称,注意名称不宜过长,如下图
* 重启系统后再进入DDE共享设置,重新添加用户即可。
注意:两种方式的访问类型可以根据实际情况设置,一般为完全控制。
点击“确定”完成“DDE共享属性”设置。
(3) 设置信任共享
在“DDE共享”对话框中选中新添加的DDE共享,点击“信任共享”按钮,将其添加到受信任的共享中。如下图:
在弹出的“受信任的共享属性”对话框中,进行如下设置,如图:
注意:必须选中允许启动应用程序、允许初始化应用程序和替代Cmd显示项,并且替代Cmd显示,使用“0”值。
可以通过“共享”菜单下的“受信任的共享”,看到当前受信任的共享。
4. 端口设置
客户端通过DDE远程访问服务器时,服务器中的端口要进行相应的设置。
(1) 网卡端口
为了使客户端能通过DDE远程访问到服务器,服务器中的网卡端口需要全部打开。不允许有封闭的端口。
打开本地连接的属性对话框,如下图:
选择Internet协议(TCP/IP),点击属性,打开“Internet协议(TCP/IP) 属性”对话框,如下图:
点击“高级”按钮,打开“高级TCP/IP设置”对话框,如下图:
选择“选项”,点击“属性”按钮,打开“TCP/IP 筛选”对话框,如下图:
选择“全部允许”,点击确定,即可打开所有端口,注意:完成设置要重启计算机。
(2) 防火墙端口
这里仅介绍Windows防火墙端口的设置,其它防火墙请参考使用说明作相应的设置。
在Windows 2003 SP1/XP SP2系统中自带一个安全防火墙,如果它处于启动状态,要对其做相应配置。
1. 打开Windows防火墙配置对话框
进入“控制面板”,选择“安全中心”,打开“Windows 安全中心”配置窗口。
在窗口的右下角选择“Windows 防火墙”,则可打开Windows防火墙配置对话框。Windows防火墙配置对话框包括“常规”、“例外”和“高级”三个选项卡,