在任何平台上,
accept()
函数返回的套接字选项是否取决于侦听套接字的选项?
例如,
我想知道侦听套接字是否处于非阻塞模式,accept()
是否返回非阻塞套接字?
答案 0 :(得分:1)
我不会说不存在任何平台,其中返回的TCP套接字的阻止模式随accept-socket的阻止模式而变化,因为我没有使用所有平台;但是我要说的是,我从未在我开发的任何平台(MacOS / X,Windows,Linux,BSD等)上看到这种行为。由accept()
返回的套接字始终具有新TCP套接字的默认设置,其中包括该套接字处于阻塞模式。就是说,accept man页面似乎并未以一种或其他方式明确地解决该问题。
无论如何,如果您担心它,安全的做法是在accept()
返回的套接字上手动设置(或取消设置)阻塞模式,以便可以保证它处于状态你想要的。