我们的服务器应用程序正在侦听一个端口,一段时间后它不再接受传入的连接。(虽然我很想解决这个问题,但这不是我在这里要问的;)
奇怪的是,当我们的应用程序停止接受端口 44044 上的连接时,IIS(在端口 8080 上)也是如此。杀死我们的应用程序可以解决所有问题 - IIS 再次开始响应。
那么问题来了,一个应用程序会搞乱整个 TCP/IP 堆栈吗?或者,应用程序如何做到这一点?
毫无意义的细节:我们的应用程序是在 XP/SP2 上的 .Net 2.0 下用 C# 编写的。
澄清:IIS 没有“拒绝”尝试的连接。它永远不会看到它们。客户端收到“服务器未及时响应”消息(使用 .Net TCP 客户端。)