在建立新TCP连接时关闭现有连接

时间:2009-05-05 15:19:59

标签: .net sockets tcp

我有一个客户端连接的TCP侦听器服务。最近我开始收到与断开连接有关的错误。我连接了大约20个客户端,连接正常。但是,当我将另外10个客户端连接到服务时,先前的连接会因10053或10054错误而中断。

以前它曾经与100个客户一起运行,但我不确定可能是什么问题。该服务和客户端都在Windows Server 2003上运行,因为我发现Windows XP存在多个TCP连接的已知问题(与10053相关)。

2 个答案:

答案 0 :(得分:0)

嗯,你收到的错误非常不同。

10053是WSAECONNABORTED - 连接已中止。这通常是由于应用程序堆栈中的问题(尽管有时会发生)。

10054是WSAECONNRESET - 连接由对等方重置。这通常是连接另一端的问题。

你是如何测试的?连接到此服务的“客户”是否是您撰写的内容?如果是这样,您应该在获得10054时跟踪客户端发生的情况。

此外,这可能是由于网络问题,与您的软件无关(直接)。您正在运行的网络基础架构是否发生了变化?

答案 1 :(得分:0)

我怀疑这是一个网络问题,或者你可能会在前20个客户端连接时看到它发生。只是在黑暗中拍摄,但你如何处理这些连接?你在使用某种数组或集合吗?您是否可能无意中将现有连接设置为新连接,导致系统崩溃?