【发布时间】:2016-03-18 10:30:46
【问题描述】:
我在 LabVIEW for Windows PC 中实现了以下简单代码。
另外,我在另一台机器上有一个应用程序,它发送 18 字节长度的 UDP 包。
当发件人直接发送包裹时,一切正常。我收到了正确的包裹:
810A 0012 0120 FFFF 00FF 1008 0900 1B04 1EB0
一旦我将包设置为在本地或全球广播,我就会收到 25 字节长度的包。 60%的包跟现实相符,这里是:
810B 0019 0120 FFFF 00FF 1000 C402 0000 7B22 0400 9103 2201 04
我运行 Wireshark 并看到我的网卡在两种情况下(直接流量或广播)都收到了正确的包。所以问题出在我的LabVIEW代码或LabVIEW中的UDP读取功能上。
你有过这样的经历吗?
【问题讨论】:
-
更新:LabVIEW 在广播时收到 2 个包。第一个是正确的,第二个是错误的(25字节长度)。
-
更新:每次迭代都关闭并打开 UDP 连接时一切正常。
-
错误数据包的发送端口和IP地址是否正确?来源是您的应用吗?
-
不,我只是明白了这个问题。有另一个应用程序发送了错误的应用程序。所以方案如下。我的应用程序发送 UDP 广播。其他 App 看到广播并回复其他广播。 LabVIEW显示了最新的包,所以我误以为有错误。我想我解决了这个问题。我应该删除问题,还是您可以为其他人写一个答案以防止将来出现此类问题。
-
刚刚写了答案
标签: sockets udp broadcast labview