我找到了多个答案,建议在多个UDP客户机需要监听同一端口上的广播时使用SO\u REUSEPORT套接字选项。但是我得到一个错误,这个选项不可用。使用Python2.7
from socket import *
s = socket(AF_INET, SOCK_DGRAM)
s.setsockopt(SOL_SOCKET, SO_REUSEPORT, 1)
try:
s.bind(('', MYPORT))
except:
print "Error connecting to the UDP stream."
Traceback (most recent call last):
File "qsorder.py", line 119, in <module>
s.setsockopt(SOL_SOCKET, SO_REUSEPORT, 1)
NameError: name 'SO_REUSEPORT' is not defined
我尝试过soreuseaddr,它没有给出错误,但只有一个客户端接收广播。你知道怎么解决这个问题吗?在
您需要在每个套接字上设置
SO_BROADCAST
选项:SO_REUSEPORT
不是标准的,通常在受支持的情况下与SO_REUSEADDR
具有相同的含义。在相关问题 更多 >
编程相关推荐