当源端口与目标端口相同时,Windows7套接字连接

时间:2013-11-05 18:07:35

标签: sockets windows-7

这是一个Windows 7 BUG还是已知行为???

当您创建连续尝试连接到某个PORT(没有人在监听)的应用程序时,例如端口5000 ......

windows为该套接字连接的每个尝试源端口分配。

过了一会儿(在我的测试源端口在1000-65535范围内循环)... windows给你相同的端口,5000!

在这种情况下,您的应用程序会连接到自身,并且会像loopback-echo那样进行讨论。

因此应用程序将在~64000次尝试中的1次中具有完全不同的行为。

我用win-netcat进行了测试

$ nc 127.0.0.1 5000 (with source port =5000 too)
on windows 7        ... loopback echo!
on windows 7 server ... loopback echo!
on windows 8        ... not connected (which is good)
on windows XP       ... not connected (which is good)
(managing source port to be exact 5000 was with separate batch script that run many connections... until source port is near <5000)
这是一个Windows 7 BUG吗?如果有人知道,在你的程序中避免它的最佳方法是什么。

0 个答案:

没有答案