TCP客户端的代码如下:
TCP服务器与TCP客户端的程序分别保存在两个不同的工程中。运行时,先运行TCP服务器程序,再运行TCP客户端程序,运行效果如所示。
图 3?3 TCP示例程序运行结果
3.1.3 网络通信:在
CVI中调用Internet库
Internet库主要提供了FTP协议、Telnet协议以及POP3协议的客户端的函数支持。 FTP是应用层的协议,它基于TCP协议,负责进行文件的传输。CVI通过封装隐藏了一些底层的FTP操作,提供了两个方便的FTP操作函数:
(1) InetFTPAutoSend 将本地的文件传输到指定的远程服务器主机上 (2) InetFTPAutoRetrieve 将指定远程服务器上的文件传输到本机上。
Telnet协议也是应用层的协议,同样基于TCP协议,是Internet远程登陆服务的标准协议和主要方式。CVI提供了对Telnet操作的以下函数: (1) InetTelnetOpen 建立Telnet连接
(2) InetTelnetRead 从Telnet服务器中读取数据 (3) InetTelnetWrite 向Telnet服务器写数据 (4) InetTelnetClose 关闭Telnet连接
(5) InetTelnetReadUntil 从Telnet服务器中读取数据,直到遇到指定字符或达到指定字节数或者超时
(6)InetTelnetRunScript 在Telnet服务器上执行指定的脚本
POP3也是应用层的协议,基于TCP协议,规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件。POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。CVI提供了对POP3操作的以
下函数:
(1) InetPop3Open 连接POP3服务器
(2) InetPop3Close 关闭与POP3服务器的连接
(3) InetPop3GetNumMessages 获取POP3服务器上的消息数量 (4) InetPop3GetMessageSize 获取POP3服务器上消息的大小 (5) InetPop3GetMessageInfo 获取POP3服务器上邮件的具体信息 (6) InetPop3DeleteMessage 删除POP3服务器上的消息 (7) InetPop3GetMessage 获取POP3电子邮件消息头与内容 (8) InetPop3ParseMessageHeader 解析POP3邮件的消息头
3.1.4 网络通信:在
CVI中调用DataSocket库
DataSocket技术是NI公司推出的面向测控领域的网络通信技术。DataSocket技术基于Microsoft的COM和ActiveX技术,对TCP/IP协议进行高度封装,面向测量和自动化应用,用于共享和发布实时数据DamSockd能有效地支持本地计算机上不同应用程序对特定数据的同时应用,以及网络和不同计算机的多个应用程序之间的数据交互,实现跨机器、跨语言、跨进程实时数据共享。
在测试测量过程中,用户只需要知道数据源和数据库及需要交换的数据就可以直接进行高层应用程序的开发,实现高速数据传输,而不必关心底层的实现细节,从而简化通信程序的编写过程、提高编程效率。
DataSocket包括DataSocket Server Manager(以下简称Manager),DataSocket Server和DataSocket API一部分。
Manager是一个独立运行的程序,主要功能有:设置DataSocket Server连接的客户端程序的最大数目和创建数据项的最大数目:创建用户组和用户;设置用户创建和读写数据项的权限;限制身份不明的客户对服务器进行访问和攻击。例如,将Manager中的Default Reader设置为everyhost,则网中的每台客户计算机都可以读取服务器上的数据。Manager对DataSocket Server 的配置必须在本地计算机上进行,而不能远程配置或通过运行程序来配置。
DataSocket Server 是一个必须运行在服务器端的程序,负责监管Manager中所设定的