除了一些 Python 文档之外,我找不到任何关于此的文档
18.1.4.2。超时和接受方法
如果
getdefaulttimeout()
不是None
,则该方法返回的套接字accept()
继承该超时。否则,行为取决于侦听套接字的设置:如果监听套接字处于阻塞模式或超时模式,则返回的套接字
accept()
处于阻塞模式;如果侦听套接字处于非阻塞模式,则返回的套接字
accept()
是处于阻塞模式还是非阻塞模式取决于操作系统。如果您想确保跨平台行为,建议您手动覆盖此设置。
我已阅读此 [问题]:套接字选项是否从侦听套接字跨接受()继承?,我认为最终的判决仍然是实现定义的。我想在平台上进行测试比从每个内核读取源代码更容易。
这里清楚地表明超时选项是继承的。但是在 accept(2) 的联机帮助页上,没有提到这一点。当我在我的一个盒子(嵌入式 Linux 盒子)上调试一些 C++ 代码时,我发现这非常令人震惊。我希望接受的套接字不会继承此选项。
我在哪里可以找到这个问题的明确答案?