C++ TCP服务器挂起,不响应SYN

C++ TCP服务器挂起,不响应SYN,c++,networking,tcp,C++,Networking,Tcp,我有一个奇怪的问题,TCP服务器有时会挂起。奇怪的问题是,当它挂起时,它没有收到任何新的连接,即没有响应初始的TCP SYN数据包。我非常确定,由于TCP握手是由内核处理的,所以即使程序挂起,客户端也至少应该收到初始SYN ACK。如果有人知道某个程序的挂起方式会阻止操作系统完成TCP握手(并且不会关闭侦听套接字),请告诉我 附言。 程序用C++编写,OS是Windows Server 2016。 最有可能的是,侦听队列已经满了。不响应初始SYN会导致另一方稍后尝试另一个SYN。幸运的是,此时侦

我有一个奇怪的问题,TCP服务器有时会挂起。奇怪的问题是,当它挂起时,它没有收到任何新的连接,即没有响应初始的TCP SYN数据包。我非常确定,由于TCP握手是由内核处理的,所以即使程序挂起,客户端也至少应该收到初始SYN ACK。如果有人知道某个程序的挂起方式会阻止操作系统完成TCP握手(并且不会关闭侦听套接字),请告诉我

附言。
程序用C++编写,OS是Windows Server 2016。

最有可能的是,侦听队列已经满了。不响应初始SYN会导致另一方稍后尝试另一个SYN。幸运的是,此时侦听队列不会满。程序调用

accept
(或类似函数)的频率可能不够


也有可能程序正在使用选择性接受功能(请参阅
lpfnCondition
参数to)选择不响应此连接尝试。

我不是专家,但这听起来好像是某个地方的错误。请提取并提供一个。再读一遍,似乎它确实在听(s,5)。基本上,这意味着有5个挂起的连接尚未被接受,对吗?很可能是的。