【发布时间】:2020-11-20 22:42:57
【问题描述】:
在 C/C++ 中,如果客户端和服务器完成了 3 次握手,并且此连接位于服务器的积压(侦听队列)中。在服务器调用accept()之前,如果客户端调用close()会发生什么。是否会从积压中删除此连接?
现实世界的情况是,服务器有时太忙而无法立即接受每个连接。所以会有一些连接在积压中等待。客户端对来自服务器的第一个响应有超时。如果发生超时,它将调用close() 然后重试或其他什么。此刻,我想知道服务器的积压是否会从积压中删除连接。
请分享您的想法。赞一个!
【问题讨论】:
-
当你这样做时,eCos 2 中的 BSD 网络堆栈的端口有一个恼人的倾向,即泄漏套接字的文件句柄。
标签: c++ c sockets networking tcp