我们有一个用C#编写的异步套接字服务器(运行在Windows Web Server 2008上)。它一直运行得很好,直到出现不明原因停止接受新连接的情况。我们平均有大约200个并发连接,但我们保持连接创建和连接断开的计数。这些数字可以高达10,000或低至只有1000,然后就会停止!有时它可以运行长达8个小时,有时仅半小时,目前它正在运行了一个小时左右,然后我们有另一个应用程序在无法连接时自动将其重新启动(这不是非常理想)。看起来我们并没有耗尽套接字,因为我们正常关闭它们,我们还记录所有错误,但在它停止之前没有发生任何事情。我们可以找出问题所在。有人有任何想法可能是怎么回事吗?我可以粘贴代码,但通常只是那些你在任何地方都能看到的异步beginaccept/send代码。
TCPView
或netstat -a
捕获所有套接字状态。 - Stephen Cleary