我很难在Python中接收UDP广播 . 通过以太网连接到PC的设备在特定地址和端口上广播消息 . 我尝试过在线发现的大量多播python示例,但我永远无法收到数据 . 使用wireshark我可以看到UDP广播正在到达PC .
我尝试过OSX和Linux,但都没有工作 . 我只能假设没有收到消息,因为设备使用非标准UDP结构,即没有校验和验证等
有关如何接收这些UDP广播的任何想法?
谢谢!
编辑:最简单的形式是当前代码:
from socket import *
s=socket(AF_INET, SOCK_DGRAM)
s.bind(('239.255.60.60',4876))
m=s.recvfrom(1024)
print (m[0])
但是我尝试了其他组播示例,例如Multicast in Python,但我还没有能够收到任何内容!
2 回答
好的找到答案,而不是孤立于这种情况,并踢我自己忽略它 .
通过以太网连接的设备正在等待分配IP地址! Wireshark必须捕获比python更低级别的网络流量 .
无论如何,手动为设备分配了一个IP地址,现在它正在工作 . 很轻松 .
您没有收到广播,因为您没有使用广播地址 .
使用:
或者ip的正确广播地址 .