我在Windows上运行的Qt项目充当服务器。 (5.b在32b MSVC2015上,我们也为Ubuntu构建,但还没有看到这个问题)数百个TCP / IP套接字来到机器并使用正常良好的套接字。远程方使用的连接软件不受我们控制。虽然大部分形式良好,但其中一些不是。我们有一个用户代理设法连接,然后不正确地断开连接,使套接字悬空在FIN-WAIT-1状态。事实上,他们可以在重试时将数百个插座打开。
在Qt方面,我们已经删除了连接,并在删除它之前调用了套接字上的abort()。 [close()也尝试了,没有区别]但是入站连接永远保持在FIN-WAIT-1状态,而不是一个强有力的长期答案。
是否可以从Qt应用程序中清除这些?我没有看到任何可能对此有帮助的低级别调用。 [旁白,我们只使用流行的工具' cports.exe'现在用手清理它们。]