用DataSocket实现本地/远程进程间通信
1 引言
随着计算机及计算机网络技术的发展,单进程的应用程序显然已经不能满足大多数工程应用的需要,开发组件化、模块化的多进程应用程序已成为必然趋势。这样一来,进程间通信成为多进程应用程序开发的重要部分。目前已经有多种实现本地/远程进程间通信的方式,如dde/netdde、com /dcom,socket等都是应用成熟的进程间通信技术,但使用这些技术来开发通信程序需要程序员编写大量的程序代码,对于非计算机专业的工程技术人员而言有一定的难度。使用datasocket技术则可以非常方便地开发出高质量的进程间通信程序,datasocket技术在工业生产已经有了成功的应用实例,美国armadillo公司在高尔夫球棍的生产、管理和研发部门借助datasocket技术来监管企业的生产,从而提高了生产效率和产品的知名度 [3]。
2 datasocket
datasocket是ni公司的一个开发软件包,借助它可以简化数据通信程序的开发。使用datasocket开发的通信程序的数据源和数据目标既可以是程序、文件、ftp服务器、web服务器、也可以是opc(ole for process control)服务器。使用datasocket既可以传输数据又可以传输数据的属性,数据的属性可以包括采样速度、时间戳、数据质量等。虽然使用文件 i/o函数、tcp/ip函数、ftp/http请求也可以完成程序之间、程序与文件之间以及不同计算机之间的数据传输,但必须编写大量的程序代码。 datasocket为这些低级的通信协议提供统一的api来简化通信程序的设计。datasocket使用大家熟悉的网络统一资源定位符(url)来标识数据地址,通过url可以快捷地实现应用程序与外界实现数据共享,用url的前缀可以指定不同的协议,如http、ftp、opc、dstp和文件服务。
ni的datasocket软件包包括3个部分:
l datasocket activex 控件,该控件可以将程序连接到不同的数据源或数据目标并在它们之间共享数据资源。因为datasocket是一个activex 控件,用户可以在自己喜欢的开发工具来开发数据共享程序,例如visual basic,visual c++,或者 borland delphi。
l datasocket server,是一个管理多个应用程序之间通信的可执行程序。当datasocket server运行在你的计算机上,则本机、局域网甚至internet上的其他datasocket应用程序都可以方便的从你的计算机上读取数据。
l datasocket server manager,它是一个datasocket server的配置工具。
3 datasocket的实时数据传输
正如前面提到的一样,datasocket可以使用不同的数据传输协议在不同的数据源之间传输数据。dstp(datasocket transfer protocol)是datasocket 使用的特有的一种实时数据传输协议,专门用于测控数据在网络上的传输。该协议使用一种增强数据类型来传播实时数据,并将数据的采样速度、数据精度、时间戳等属性信息捆绑在数据块上。经专门的测试程序验证,目前datasocket在普通局域网中的传输速率可达320kb/s,随着网络带宽的增加,datasocket的速率将会得到提高[3]。
相关文章
- 2024-08-02基于干涉原理的高精度直线度误差测量
- 2024-06-07电流变液减振器在抑制深孔切削颤振上的研究
- 2022-05-24基于现场总线监测系统的PLC控制制造系统
- 2024-03-20寄生虚反射对外差干涉椭偏测量的影响
- 2024-04-10极紫外望远镜各通道夹角的测量



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。