首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“SO_REUSEPORT”未在Windows7上定义

“SO_REUSEPORT”未在Windows7上定义
EN

Stack Overflow用户
提问于 2012-11-30 08:15:35
回答 1查看 7.5K关注 0票数 5

我发现当多个SO_REUSEPORT客户端需要监听同一端口上的广播时,建议使用UDP套接字选项。然而,我得到了一个错误,这个选项不可用。使用python 2.7

代码语言:javascript
复制
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,它没有给出错误,但只有一个客户端接收广播。你知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-30 11:51:53

您需要在每个插座上设置SO_BROADCAST选项:

代码语言:javascript
复制
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)

SO_REUSEPORT不是标准的,通常在受支持的情况下与SO_REUSEADDR的含义相同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13637121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档