2009-05-05 66 views
0

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

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

回答

0

那么,你收到的错误是非常不同的。

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

10054是WSAECONNRESET - 连接被同级重置。这通常是连接另一端的问题。

你是如何测试的?连接到这个服务的“客户”是你写的吗?如果是这样,当你得到一个10054时,你应该跟踪客户端发生了什么。

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

+0

我正在使用自定义客户端进行测试,该自定义客户端为该服务创建了大量连接(线程),并且还通过GNSS Surfer(即NTRIP客户端)测试了NTRIP服务器。 10054似乎是合理的,因为它可能会在客户端断开连接时出现,但真正的问题是10053.以前我发现10053与Windows XP有关,但现在在Windows Server 2003中也可以看到该问题。 – A9S6 2009-05-05 15:43:55

0

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