当前位置:首页 > 测试测量 > 测试测量
[导读]我在"利用DDE实现进程间的数据交换之一"中,谈到了服务器端发送数据和客户端接收数据的方法. 客户端采用REQUEST方式是无法实现服务器发送和客户端接收同步的,如果想要实现,可以采用ADVISE方式,这种方式下,客户端类

我在"利用DDE实现进程间的数据交换之一"中,谈到了服务器端发送数据和客户端接收数据的方法.

客户端采用REQUEST方式是无法实现服务器发送和客户端接收同步的,如果想要实现,可以采用ADVISE方式,这种方式下,客户端类似于中断方式,服务器发送端ITEM没有数据变化时,接收端一直处于等待状态,一旦服务器端发生数据变化,立即执行数据接收.

服务器端程序框图:(发送数据,100MS更新一次)


客户端接收数据未采用任何DELAY,同样保持100MS的接收速度.
打开对话-->START ADVISE ITEM--->CHECK ADVISE--->STOP ADVISE-->关闭对话




这样就实现了发送和接收的数据交换同步.

我们知道服务器和客户端的数据交换是相互的,如何实现客户端发送数据,服务器接收数据那,这需要客户端使用POKE VI, 服务器端使用CHECK ITEM VI.

服务器端程序框图


如果设置成FALSE,则立即结束本次循环,实际是查询方式.

客户端程序框图:

当客户端没运行POKE时,服务器处于等待状态,这样就实现了双方的同步.

DDE本身还支持握手方式通讯,不过非常复杂,很少使用.

另外,客户端还可以向服务器发送命令字符串,要求服务器执行命令.不过LABVIEW的DDE不支持命令,就不举例了.比如EXCEL可以作为服务器,客户端可以发送"OPEN" "SAVE"要求EXCEL打开和存储文件.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭