-
使用
LabVIEW
中的
TCP/IP
和
UDP
协议
前言
互联网络协议
(IP)
,
用户数据报协议
(UDP)
和传输控制协议
(TCP)
是网络通信的基本的工具。
TCP
与
IP
的名称来自于一组最著名的因特网协议中的两
个
--
传输控制协议和互联网络协
议。
你能使用
TCP/IP
来进行单一网络或者互连网络间的通信。
单独的网络会被大的地理距离分
p>
隔。
TCP/IP
把数据从一个子网网络或
者因特网连接的计算机发送到另一个上。因为
TCP/IP
在大
多数计算机上是可用的,它能在多样化的系统中间传送信息。
LabVIEW
和
TCP/IP
p>
你能在所有平台上的
LabVIEW
中使用
TCP/IP
。
LabVIEW
包含了
TCP
和
UD
P
程序还有能让你
建立客户端或者服务器程序的功能。
IP
IP
执行低层
次的计算机间的数据传送。
在组成部分里的
IP
数据包称为数据报。
一个数据报
包含表明来源和目的地
地址的数据和报头字。
IP
为通过网络或者因特网把数据发送到
指定
的目的地的数据报确定正确的路径。
IP
协议并不能保证发送。事实上,如果数据报在传输中被复制,
< br>IP
可能多次传送一个单独
的数据报。所以,程序很少用
IP
而是用
TCP
或者
UDP
代替。
UDP
UDP
在计算机进程中提供简
单而低层次的通信。
进程通过把数据报发送到一个目的地计算机
或者端口进行通信。一个端口是你发送数据的位置。
IP
处理计
算机对计算机的发送。在数
据报到达目的地计算机后,
UDP<
/p>
把数据报移动到其目的端口。
如果目的端口不是开放的,
UDP
将删除数据报。
UDP
< br>将发生
IP
的同样的发送问题。
应用程序的
UDP
的可靠性不强。例如
,一项应用程序能经常把大量信息的数据传送到目的
地而丢失少量的数据是肯定的。
p>
在
LabVIEW
中使用
UDP
协议
因为
UDP
不是一个
TCP<
/p>
似的一个以连接为基础的协议,在你发送或者收到数据之前,你不
需要和目的地建立一种连接。相反,当你每发送一个数据报时,由你指定数据目的地。操
作系统不会报告传输差错
使用
UDP
打开功能在一个端口上打开一个
p>
UDP
插口。同时打开的
UDP
端口的数量仍依赖于
操作系统。
UDP
的打开的功能返回到网络连接时唯一识别
UDP
套
接字。使用这种连接在子
VI
程序中就是靠这个套接字。
用
UDP
编写功能
发送数据到目的地,然后使用
UDP
阅读功能阅读那个数据。每
写一个操作
要求一个目的地地址和端口。
每阅读一个操作包含来
源地址和端口。
UDP
保存你所发送的每
一个命令所指定的数据报字节。
在理论上,你能发送任何大
小的数据报。然而,你最好不使用
UDP
来发送大的数据报,因
为它不像
TCP
一样可靠。
当你在一个端口上结束所有通信时,使用
UDP
结束功能去释放系统资源。
UDP
多路广播
你能使用
UDP
的功能来与一个单独的客户端通信或者通过
广播对于所有局域网上的计算机
通信。如果你想要传送成倍增加具体的计算机信息,你必
须通过客户端列表构建
UDP
功能
反复
执行。因为
LabVIEW
能把数据的作为一个单独的拷贝发送
到每个客户端并且保存对收
到数据感兴趣的客户端列表,所以运用这种技术建立完全相同
的网络交换。
使用多路广播可以在网络上的进行单个的发送端
和多倍的客户端之间的通信而不需要保存
客户列表或者要求发送端把数据多重拷贝后发送
给每个客户端。为了通过多路广播收到数
据广播,所有客户端必须加入一个多路广播组。
而发送端不需要加入该组。发送端只需规
定一个多路广播的
IP
地址来定义这个多路广播组。多路广播的
IP
< br>地址范围在
224.0.0.0
到
239.255.255.255
中。当一个客户端想要加入一个多路广播组时,它只
需预定这个组的
多路广播的
IP
地址。
在客户端预定到一个多路广播组之后,客户端收到从多路广播的
IP
地址发送的数据。
对于
LabV
IEW
中的多路广播,
使用
UDP
p>
多路广播的打开程序有能力读、
写或者读和写
UDP
数据。
规定
TTL
为写数据,
多路广播地址为读数据,
多路广播端口
号为读写数据。
默认
TTL
是
1
,这意味着
LabVIEW
< br>仅仅把数据报发送到本地的网络上。当一个发送方收到一个多路
广播数据报时,它
消耗数据报的生存时间。如果
TTL
大于
1
,发送方把数据报转发到其它
数据报。下面的表格说明了当
你规定一个
TTL
的值时,一个多路广播数据报的运行。
0
主机上还存留数据报
1
数据报发送到每个在同一本地网
络上已预定那个
IP
地址的客户端。中枢
/
转发器和
桥路
/
< br>开关转发数据报。发送方不转发数据报如果
TTL
为
p>
1
。
如果你规定
一个值大于
1
,数据报通过
TTL-1
层被发送,并且发送方转发它。
参阅
在
LabVIEW
例子
中的
UDP
多路广播接受方程序和
UDP
多路广播发送方
程序
VI<
/p>
中使用
UDP
多路广播的例程。
TCP
TCP
保证
在网络中的可靠的通信,按顺序发送而没有差错,损失或者重发。
TCP
直到收到一
个确认才转发。
系统要求
在使用
TCP/IP
之前,确认你有必需的要求,这变化依赖于你使用的平台。
?
(Windows
和
UNIX
系统
)TCP/IP
。
你不需要使用第
三种产品连接使用
TCP/IP
。
如果
你的网
络适当地被构成,
LabVIEW
没有要求附加的设置。
(Mac
OS
系统
)
LabVIEW
网络要求打开传送,包括
Mac OS
7.5
和更新的版本。
在
LabVIEW
中使用
TCP
< br>TCP
是一个以连接为基础的协议,这意味着站点必须在传送数据之前建立一种连
接。
TCP
许
可多重、同时的连接。<
/p>
你可以通过等待一种输入的连接或者通过积极地寻求一种与指定
的地址连接建立连接。在
建立
TCP
连
接时,你必须指定一个地址和该地址的端口。端口范围在
0
到<
/p>
65,535
点之间。
UNIX
系统为特殊的应用程序保留端口数少于
1,024
。在一个给定的地址中不同的端口能识
别不同的服务。
p>
使用
TCP
的打开连接功能来与一个指定地
址进行积极的连接。如果连接成功,功能返回网
络连接的返回数唯一识别那个连接。使用
这种连接
refnum
来访问子
VI<
/p>
程序。
你能使用如下技术来等输入连接:
用
TCP
听程序创建立一个听者并且在一个指定的端口等待一种可
接受的
TCP
连接。
如果
连接成功,
VI
程序返回连接数,地址和远程
TCP
客户端口。
TCP
创建听者功创建一个听者然后用
TCP
< br>的听者功能上等待的一个听者接受新的连接。
在听者功能上的
TCP
等待返回你所发送的功能和返回数的同样的听者
ID
。当你结束等
候新的连接时,用
TCP
关闭连接功能区关闭一个听者。你不能对一个听者进行读写。
用第二种技术的优势是你能使用<
/p>
TCP
关闭连接功能来取消听操作,这在你想要为了一种连
接听而没有超时,但是你想要取消当另一个条件变真时的听时是很有用的。你能在任何时
间关闭听程序。
当你建立一种连接时,用<
/p>
TCP
读功能和
TCP
< br>写功能能在远程应用中队数据进行读写。
用
TCP
关闭连接功能区关闭远程连接。如果没被读的仍保留着而关闭连接,
你可能失去数
据。当关闭连接时,在你的计算机上使用较高层次协议。在连接被关闭后,
你不能再读写
它。
TCP
和
UDP
之间的区别
<
/p>
在你想要可靠的数据传输时,
TCP
是最
好的协议。
UDP
是高性能的无需连接的协议,但是它
不保证可靠性。
建立
TCP
客户端
注意:请参考最近的版
本
LabVIEW
帮助功能对这些指令和功能的细节描述。
p>
完成如下步骤使用
TCP
功能建立一个
TCP
顾客。
1.
用
TC
P
的打开连接功能来打开一个服务器的连接。你必须规定服务器的因特网地址和服
务器的端口。
地址在网络上识别计算机。<
/p>
远程端口在服务器使用听的计算机上识别一个通信通道。
当
你建立一个
TCP
服务器时,你要规定你想要
服务器为通信使用的端口。
2.
<
/p>
用
TCP
的写功能把信息发送到服务器上
。
3.
用
TCP
的读功能来读发自服务器的信息。你必须规定你想读的字
节数。
4.
用
TCP
的关闭功能来关闭与服务器的连接。
请参阅
中对单一数据客户端
的
TCP
例程。
超时和差错
当你设计一种网络应用时
,应细心考虑失败是如何发生的。例如,如果服务器被毁,确定
如何使每个客户
VI
程序掌控它。
一
种解决方式是确保每个客户
VI
程序有超时功能。
如果发生没能在一定量的时间之后生产
结果,客户端继续执行。在继续时,客
户端能试图重建连接或者报告出错。如果必要的话,
客户端
VI
程序能关闭应用程序。
建立
TCP
服务器