无法在 python 中接收广播 udp 数据包

Failing to receive broadcast udp packets in python

我正在尝试接收从通过 LAN 电缆连接的 FPGA 发送的 UDP 广播数据包。 FPGA向端口5001发送连续数据包。

我的python接收者代码很简单:

from socket import *
s=socket(AF_INET, SOCK_DGRAM)
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
s.bind(('', 5001))
print "trying to receive"
msg = s.recvfrom(1024)[0]
print msg
print "I'm outta here! Bye!"

我用Wireshark查了一下,发现是PC端收包了。但是,我的 Python 代码没有。我还检查了从另一个本地 python 代码发送数据包(到相同的地址和端口),我的接收者收到了这些数据包。

Wireshark 捕获:

问题是 python

的防火墙权限