美文网首页
为什么accept必须是非阻塞

为什么accept必须是非阻塞

作者: JimmyPan | 来源:发表于2020-05-21 13:55 被阅读0次

如果是阻塞accept 如下情况可能会产生永久阻塞

  • epoll/select wait返回listenfd可读,不过从返回到执行accept需要经过一小段时间。
  • 在等待accept期间,服务器tcp收到客户端的rst(对端直接close 且 so_linger l_onoff = 1 l_linger = 0 时关闭直接发送rst)。
  • 已完成的链接被服务器TCP驱除出队列,且没有新的链接达到。
  • 服务器代码运行到accept,会阻塞到下一个新的链接到达。

相关文章

网友评论

      本文标题:为什么accept必须是非阻塞

      本文链接:https://www.haomeiwen.com/subject/cgpzohtx.html