我是否应该使用TCP或UDP作为协议,通过Lan网络从我的笔记本电脑(使用LabVIEW程序)向cRIO(使用java)发送变量数据包。
更具体地说,LabVIEW部分很简单。但我不熟悉在java中设置套接字和接收数据。
答案 0 :(得分:2)
TCP。
UDP是一种“原始”数据包协议,这意味着每个sendto()对应于网络上的单个数据报,没有流量控制或错误恢复。如果你需要发送超过几百个字节,需要确保数据通过,需要数据按顺序到达,或者将以接近网络的速率发送数据,那么UDP本身就不会提供你需要什么。
在UDP之上构建了几个可靠的协议(免责声明:我的公司生产其中一个)。但除非你特别需要避免使用TCP(比如需要高性能或低延迟),否则最好让TCP为你处理所有传输基础知识。
答案 1 :(得分:0)
如果您正在从桌面/笔记本电脑VI上的用户界面与cRIO进行通信并且这并不重要,那么我建议使用UDP。调用UDP时开销较小,因为没有像TCP那样的“握手”。 Here is a great article以及其他提示我指出人们正在对cRIO进行编程。