力控实时数据库DBNet DDEServer配置.docx
《力控实时数据库DBNet DDEServer配置.docx》由会员分享,可在线阅读,更多相关《力控实时数据库DBNet DDEServer配置.docx(11页珍藏版)》请在冰豆网上搜索。
力控实时数据库DBNetDDEServer配置
力控实时数据库(DB)NetDDEServer配置
DDE概念
通讯原理
力控DB的网络DDEserver配置
A.概念
动态数据交换(DynamicDataExchange,DDE)也是一种进程间通信形式。
它最早是随着Windows3.1由美国微软公司(Microsoft)提出的。
当前大部分软件仍就支持DDE,但近10年间微软公司已经停止发展DDE技术,只保持对DDE技术给予兼容和支持。
但我们仍然可以利用DDE技术编写自己的数据交换程序。
B.通讯原理
两个同时运行的程序间通过DDE方式交换数据时是客户/服务器关系,一旦客户和服务器建立起来连接关系,则当服务器中的数据发生变化后就会马上通知客户。
通过DDE方式建立的数据连接通道是双向的,即客户不但能够读取服务器中的数据,而且可以对其进行修改。
DDE和剪贴板一样既支持标准数据格式(如文本、位图等),又可以支持自定义的数据格式。
但它们的数据传输机制却不同,一个明显区别是剪贴板操作几乎总是用作对用户指定操作的一次性应答,如从菜单中选择粘贴命令。
尽管DDE也可以由用户启动,但它继续发挥作用,一般不必用户进一步干预。
DDE有三种数据交换方式,即:
(1)冷连接(CoolLink):
数据交换是一次性数据传输,与剪贴板相同。
当服务器中的数据发生变化后不通知客户,但客户可以随时从服务器读写数据;
(2)温连接(WarmLink):
当服务器中的数据发生变化后马上通知客户,客户得到通知后将数据取回;
(3)热连接(HotLink):
当服务器中的数据发生变化后马上通知客户,同时将变化的数据直接送给客户。
DDE客户程序向DDE服务器程序请求数据时,它必须首先知道服务器的名称(即DDEService名)、DDE主题名称(Topics名),还要知道请求哪一个数据项的项目名称(Items名)。
DDEService名应该具有唯一性,否则容易产生混乱。
通常DDEService就是服务器的程序名称,但不是绝对的,它是由程序设计人员在程序内部设定好的,并不是通过修改程序名称就可以改变的。
Topics名和Items名也是由DDEService在其内部设定好的,所有服务程序的Service名、Topics名都是注册在系统中,当一个客户向一个服务器请求数据时,客户必须向系统报告服务器的Service名和Topics名。
只有当Service名、Topics名与服务器内部设定的名称一致时,系统才将客户的请求传达给服务器。
当服务名和Topics名相符时,服务器马上判断Items名是否合法。
如果请求的Item名是服务器中的合法数据项,服务器即建立此项连接,建立连接的数据发生数值变化后,服务器会及时通知客户。
一个服务器可以有多个Topics名,Items名的数量也不受限制。
DDE交换可以发生在单机或网络中不同计算机的应用程序之间。
开发者还可以定义定制的DDE数据格式,进行应用程序之间特别目的IPC,它们有更紧密耦合的通信要求。
大多数基于Windows的应用程序都支持DDE。
但DDE有个明显的缺点就是,通信效率低下,当通信量较大时数据刷新速度慢,在数据较少时DDE较实用。
C.力控DB的网络DDEserver配置
1.给网卡添加“NWLinkIPX/SPX/NetBIOSCompatibleTransportProtocol”协议
选中桌面的“网上邻居”图标,选择右键菜单中的“属性”项,在弹出的“本地连接状态”对话框,选择“常规”标签页的“属性”按钮,弹出“本地连接属性”对话框,如下图:
图1
选择“常规”标签页的“安装”按钮,弹出“选择网络组件类型”对话框,选择“协议”组件,如下图:
图2
点击“添加”按钮,弹出“选择网络协议”对话框,选择“NWLinkIPX/SPX/NetBIOSCompatibleTransportProtocol”协议,如下图:
图3
点击“确定”按钮,系统开始为网卡安装此协议。
2.开放系统安装的防火墙TCP135端口(在此以windowsXP自带防火墙为例)
在“本地连接属性”对话框,选择“高级”标签页,点击“设置”按钮弹出“Windows防火墙设置”对话框,如下图:
图4
选择“例外”标签页,点击“添加端口”按钮,弹出“添加端口”对话框,如下图:
图5
在名称项目输入“RPC”,端口号项目输入135,端口类型选择TCP,点击“确定”按钮完成添加。
3.启动NetDDE服务
选中桌面“我的电脑”图标,选择右键菜单“管理”选项,弹出计算机管理对话框,找到“服务和应用程序”项目,选择“服务”,在本机服务列表找到“Networkdde”和“NetworkDDEDSDM”两项服务,把它们的启动方式修改为“自动”,如下图:
图6
4.配置DDE共享
1启动DDE共享配置
选择“开始”菜单的“运行”项,输入ddeshare,如下图:
图7
点击“确定”按钮,启动$windowsdir$\sysytem32\netdde.exe,如下图:
图8
2选择设置计算机
在“共享”菜单选择“选择计算机”菜单项,在计算机列表选择要设置的DDEServer所在的计算机名称,如下图:
图8
完成后点击“确定”按钮
3添加DDE共享
在“共享”菜单选择“DDE共享”,弹出“DDE共享”对话框,如下图:
图9
选择“添加共享”按钮,弹出“DDE共享属性”对话框,如下图:
图10
共享名:
在这里填写“DB|DB”
旧样式:
(应用程序名)DB(主题名)DB
新样式:
(应用程序名)DB(主题名)DB
选中“允许启动应用程序”选项
填写完成后,如下图:
图11
4配置访问权限
在“DDE共享属性”对话框,选择“权限”按钮,弹出“DDE共享名的权限”对话框,如下图:
图12
可以用“添加”按钮选择列表中没有列出的用户,也可使用当前列出的用户,将选中的用户访问类型改为“完全控制”。
点击“确定”按钮完成设置。
5配置信任共享
在“DDE共享”对话框,选中刚添加的DDE共享名,选择“信任共享”按钮,弹出“受信任的共享属性”对话框,如下图:
图13
选中“允许启动应用程序”选项
选中“允许初始化应用程序”选项
选中“替代cmd显示,使用”项,填写0值,填写完成,如下图:
图14
完成后,点击“设置”按钮,保存当前配置信息,点击“确定”按钮返回。
6
5.DDE客户端配置
1添加“NWLinkIPX/SPX/NetBIOSCompatibleTransportProtocol”协议
2开放系统安装的防火墙TCP135端口
3启动NetDDE服务
4选择设置计算机
连接字符:
=\\[机器名]\DB|DB!
[数据库变量名]
6.客户端无法连接的处理
1检查“配置访问权限”中所选用户是否有权通过网络访问DDE服务器计算机,如果是everyone用户,请检查“控制面板\管理工具\本地安全策略”中,如下图:
图15
图16
“拒绝从网络访问这台计算机”的用户列表中是否有guest用户名,如果有的话,请删除。
2系统guest用户是否被禁止使用。
3系统的“NetworkDDE”和“NetworkDDEDSDM”两项服务,启动方式是否是“自动”,是否已经运行。
4DDEServer所在计算机的名称是否符合规范。
在安装有TCP/IP协议的计算机,计算机名最多63个字符。
计算机名称应该只包含数字0-9、字母A-Z和a-z,和连字符。
您可以使用其他字符,但这样的话也可能妨碍其他用户或程序NETDDE计算机在网络上找到。
请使用较简单的计算机名。
5