LabView TCP连接

LabView TCP连接,tcp,labview,tcp-ip,Tcp,Labview,Tcp Ip,在LabView中有一些TCP/IP连接的例子,但我并不真正了解VI在做什么。一些函数正在做什么。下面是示例的图片。 图1:服务器 为什么在typecast功能之后,导线被分成两条导线?我真的不知道这些被标记的其他函数做了什么。 图2:客户机 首先,如果您不了解函数的功能,请学习打开上下文帮助窗口(ctrl+H)并右键单击每个函数以获取特定的帮助。这将告诉您函数读取和写入TCP流。在示例查找器中还应该有更多的TCP示例,其中应该有更多的注释 至于发生了什么,LV将TCP字节流表示为一个字符串,因

在LabView中有一些TCP/IP连接的例子,但我并不真正了解VI在做什么。一些函数正在做什么。下面是示例的图片。 图1:服务器

为什么在typecast功能之后,导线被分成两条导线?我真的不知道这些被标记的其他函数做了什么。

图2:客户机


首先,如果您不了解函数的功能,请学习打开上下文帮助窗口(ctrl+H)并右键单击每个函数以获取特定的帮助。这将告诉您函数读取和写入TCP流。在示例查找器中还应该有更多的TCP示例,其中应该有更多的注释

至于发生了什么,LV将TCP字节流表示为一个字符串,因此编写该示例的人使用以下约定-使用类型转换将其转换为字符串,然后获取该字符串的长度(I32,因此为4个字节),并将其转换为字符串,并在数据之前发送


在接收端,代码首先读取4个字节(因为它是I32),然后将它们转换回I32。这是其余数据的长度,它被送入第二次读取,然后第二次读取将类型转换为原始类型的数据返回。之所以这样做是因为TCP没有终止字符,所以这是一种知道要读取多少数据的方便方法。您不必这样做,但这是一种选择。

谢谢!但是为什么服务器上的
typecasting
功能没有提供
type
?因为顶部输入的默认数据类型是字符串,这是代码作者想要的,所以不需要显式代码。一般来说,类型转换函数应该被视为一种高级工具,因为它需要了解LV如何存储和处理数据,并且没有保护机制。“展平到字符串”原语更友好,网络流也更友好。下面是一个更简单的示例: