LabVIEW虚拟仪器设计教程 教学课件 作者 何玉钧 高会生 等 第12章 网络与通信编程.ppt
文本预览下载声明
第12章 网络与通信编程 《LabVIEW虚拟仪器设计教程》 工业和信息化普通高等教育“十二五”规划教材立项项目,21世纪高等院校电气工程与自动化规划教材 * 第12章 网络与通信编程 12.1 TCP通信 12.2 UDP通信 12.3 串行通信 12.4 DataSocket通信技术 12.5 LabVIEW中的其他通信技术 12.1 TCP通信 12.1.1 TCP协议简介 TCP协议是网络通信TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议)协议的一个子协议。作为Internet最基本的协议,是一个由不同层次上的多个协议组合而成的协议簇,共分为4层:网络接口层、Internet层、传输层和应用层。其中TCP和IP是其中使用最广泛也是最重要的协议,因此人们用TCP/IP作为整个体系结构的名称。TCP和UDP都是TCP/IP体系结构中的传输层协议,都使用IP作为网络层协议。 TCP使用IP作为网络层协议,提供一种面向连接、可靠的传输层服务。面向连接指的是在实现数据传输前必须先建立连接。TCP采用比特流方式分段传送数据。在两个主机交换数据之前,先相互建立会话。TCP会话通过三次握手的过程进行初始化,这个过程是序号同步,并提供在两个主机之间建立虚拟连接所需的控制信息。一旦初始化完成,在发送和接收主机之间按将按顺序发送和确认段。关闭连接之前,TCP使用类似的握手过程验证两个主机都完成发送和接收全部数据。 12.1.2 TCP函数节点 1.TCP侦听 该函数的功能是创建一个侦听器并在指定端口等待TCP连接请求。该函数节点只能在作为服务器的主机上使用。开始侦听某个指定端口时,不能再使用其它TCP侦听VI侦听该端口。 网络地址:指定侦听的网络地址。如需侦听特定地址上的网卡,应指定网卡的地址。如不指定网络地址,将侦听所有的网络地址。 服务名称:创建端口号的已知引用。如指定服务名称,LabVIEW将使用NI服务定位器注册服务名称和端口号。 端口:要侦听连接的端口号。 超时毫秒:等待连接的时间周期,单位为毫秒。如连接没有在指定时间内建立,VI将完成并返回错误。值为-1,表示无限等待。 分解远程地址:是否在远程地址调用“IP地址至字符串转换”函数,默认为TRUE。 连接ID:唯一标识TCP连接的网络连接引用句柄。用于后面VI调用中引用连接。 远程地址:与TCP连接关联的远程机器的地址。该地址使用IP句点符号格式。 远程端口:远程系统用于连接的端口。 主要接线端定义: 2.打开TCP连接 该函数的功能是用指定的计算机名称和远程端口或服务名称来打开一个TCP连接,该节点只能在作为客户机的主机上使用。 地址:要与其建立连接的地址。该地址可以为IP句点符号格式或主机名。如未指定地址,LabVIEW将建立与本地计算机的连接。 远程端口或服务名称:要与其确立连接的端口或服务的名称。如指定服务名称,LabVIEW将向NI服务定位器查询所有服务注册过的端口号。该端口可以接受数字或字符串输入。 本地端口:用于本地连接的端口。某些服务器仅允许连使用特定范围内的端口号连接客户端,该范围取决于服务器。默认值为0,操作系统将选择尚未使用的端口。 主要接线端定义: 3.写入TCP数据 (1)发送消息:消息前带有用于描述该消息的文件头,大小固定。例如,文件头中可包含说明消息类型的命令整数,以及说明消息中其它数据大小的长度整数。服务器和客户端均可接收消息。即发出8字节的读取函数(假定为两个4字节的整数),然后将函数转换为两个整数,再根据长度整数确定作为剩余消息发送到第二个读取函数的字节数。第二个读取函数完成后,将回到8字节文件头的读取函数。 (2)发送固定大小的消息:如消息的内容小于指定的固定大小,可填充消息,使其达到固定大小。这种方式更为高效,因为即使有时会发送不必要的数据,接收消息时也只需读取函数。 (3)发送只包含ASCII数据的消息:其中每个消息以一个回车和一对字符换行符结束。读取函数具有模式输入,即在传递了CRLF后,可使函数在发现回车和换行序列前一直进行读取。这种方式在消息数据含有CRLF序列时显得较为复杂,但常用于POP3、FTP和HTTP等互联网协议。 该函数通过数据输入端口将数据写入到指定的TCP连接中。 数据输入:包含要写入连接的数据。 写入的字节:VI写入连接的字节数。 数据输入对不同字节数消息的处理方法: 4.读取TCP数据 读取的字节:要读取的字节数。处理字节数不同的消息的方法与“写入TCP数据”。 数据输出:包含从TCP连接读取的数据。 该函数从指定的TCP连接中读取数据。 模式(标准):表明读
显示全部