TCP / IP无法建立传出连接

时间:2009-06-17 13:37:00

标签: wcf tcp

我们在网络和SQL服务器(启用了IPv6的Win 2008 SP1)上看到TCP / IP警告和相当多的连接失败,当工作进程/ SQL服务器进程为一对运行时,它会更频繁地发生连续几天我想知道导致这些警告的原因是什么?允许的TCP连接的默认数量是多少?我们如何解决这个问题呢?

  

TCP / IP无法建立传出   连接因为选中了本地   端点最近用于连接   到同一个远程端点。这个   传出时通常会发生错误   连接在a处打开和关闭   高利率,导致所有可用的本地   要使用的端口和强制TCP / IP   重新使用本地端口进行传出   连接。尽量减少风险   数据损坏,TCP / IP标准   需要最短的时间段   连续连接之间的过去   从给定的本地端点到给定的   远程端点。

4 个答案:

答案 0 :(得分:2)

听起来有点像你的连接开始失败然后会自动重试。如果重试发生得足够快,TCP可以在整个端口范围内循环,并且所有端口都处于TIME-WAIT状态(IIRC就是状态所谓的,自从我详细调试TCP以来已经有一段时间了。) / p>

首先要理解的几件事情:

  1. 谁发起连接以及它们应该用于什么?
  2. 验证连接失败率,我倾向于使用Wireshark来做这类事情。
  3. 然后你必须找到关于连接失败的原因的线索。传出连接可能是服务器,服务器是否正常运行?为什么服务器不接受连接 - 进程/线程是否负责接受死锁,被阻塞或退出的连接?发起者和服务器之间的网络是否正常工作?

答案 1 :(得分:0)

以下是该错误的TechNet page

答案 2 :(得分:0)

你正在使用像

这样的东西吗?
setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)

它允许您在没有警告的情况下重复使用相同的套接字

答案 3 :(得分:0)

这让我觉得错误消息的确切含义......您的端口已经用尽了。这意味着有很多传出连接。

默认情况下不限制tcp连接数(我想你只受端口数限制,可能是端口1024到65534)

我会开始研究为什么你会在如此短的时间内看到如此多的传出连接。