力控实时数据库(DB)Net DDE Server配置
A. 概念
动态数据交换(Dynamic Data Exchange,DDE)也是一种进程间通信形式。它最早是随着Windows 3.1由美国微软公司(Microsoft)提出的。当前大部分软件仍就支持DDE,但近10年间微软公司已经停止发展DDE技术,只保持对DDE技术给予兼容和支持。但我们仍然可以利用DDE技术编写自己的数据交换程序。 B. 通讯原理
两个同时运行的程序间通过DDE方式交换数据时是客户/服务器关系,一旦客户和服务器建立起来连接关系,则当服务器中的数据发生变化后就会马上通知客户。通过DDE方式建立的数据连接通道是双向的,即客户不但能够读取服务器中的数据,而且可以对其进行修改。
DDE和剪贴板一样既支持标准数据格式(如文本、位图等),又可以支持自定义的数据格式。但它们的数据传输机制却不同,一个明显区别是剪贴板操作几乎总是用作对用户指定操作的一次性应答,如从菜单中选择粘贴命令。尽管DDE也可以由用户启动,但它继续发挥作用,一般不必用户进一步干预。
DDE有三种数据交换方式,即: (1)冷连接(Cool Link):数据交换是一次性数据传输,与剪贴板相同。当服务器中的数据发生变化后不通知客户,但客户可以随时从服务器读写数据; (2)温连接(Warm Link):当服务器中的数据发生变化后马上通知客户,客户得到通知后将数据取回;
(3)热连接(Hot Link):当服务器中的数据发生变化后马上通知客户,同时将变化的数据直接送给客户。
DDE 客户程序向DDE 服务器程序请求数据时,它必须首先知道服务器的名称(即DDE Service名)、DDE主题名称(Topics名),还要知道请求哪一个数据项的项目名称(Items名)。DDE Service名应该具有唯一性,否则容易产生混乱。通常DDE Service就是服务器的程序名称,但不是绝对的,它是由程序设计人员在程序内部设定好的,并不是通过修改程序名称就可以改变的。Topics名和Items名也是由DDE Service在其内部设定好的,所有服务程序的Service名、Topics名都是注册在系统中,当一个客户向一个服务器请求数据时,客户必须向系统报告服务器的Service名和Topics名。只有当Service名、Topics名与服务器内部设定的名称一致时,系统才将客户的请求传达给服务器。
当服务名和Topics名相符时,服务器马上判断Items名是否合法。如果请求的Item名是服务器中的合法数据项,服务器即建立此项连接,建立连接的数据发生数值变化后,服务器会及时通知客户。一个服务器可以有多个Topics名,Items名的数量也不受限制。 DDE交换可以发生在单机或网络中不同计算机的应用程序之间。开发者还可以定义定制的DDE数据格式,进行应用程序之间特别目的IPC,它们有更紧密耦合的通信要求。大多数基于Windows的应用程序都支持DDE。但DDE有个明显的缺点就是,通信效率低下,当通信量较大时数据刷新速度慢,在数据较少时DDE较实用。
力控DB的网络DDEserver配置
一、服务器端设置
1. 开放系统安装的防火墙TCP135端口(在此以windows XP自带防火墙为例)
在“本地连接属性”对话框,选择“高级”标签页,点击“设置”按钮弹出“Windows防火墙设置”对话框,如下图:
图1
选择“例外”标签页,点击“添加端口”按钮,弹出“添加端口”对话框,如下图:
图2 在名称项目输入“RPC”,端口号项目输入135,端口类型选择TCP,点击“确定”按钮完成添加。 2. 启动Net DDE服务
选中桌面“我的电脑”图标,选择右键菜单“管理”选项,弹出计算机管理对话框,
找到“服务和应用程序”项目,选择“服务”,在本机服务列表找到“Network dde”和“Network DDE DSDM”两项服务,把它们的启动方式修改为“自动”,如下图:
图3
3. 配置DDE共享 ⑴ 启动DDE共享配置
选择“开始”菜单的“运行”项,输入ddeshare,如下图:
图4
点击“确定”按钮,启动DDE共享,如下图:
图5
⑵ 选择设置计算机
在“共享”菜单选择“选择计算机”菜单项,在计算机列表选择要设置自己的计算机名称,如下图:
图6
完成后点击“确定”按钮 ⑶ 添加DDE共享
在“共享”菜单选择“DDE共享”,弹出“DDE共享”对话框,如下图:
图7
选择“添加共享”按钮,弹出“DDE共享属性”对话框,如下图:
相关推荐: