当多个 UDP 客户端需要侦听同一端口上的广播时,我发现了多个建议使用 SO_REUSEPORT 套接字选项的答案。但是,我收到此选项不可用的错误消息。使用 python 2.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
我试过 SO_REUSEADDR 并没有给出错误,但只有一个客户端接收广播。知道如何解决这个问题吗?