无法在 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
的防火墙权限
我正在尝试接收从通过 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
的防火墙权限