0

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

当您制作的应用程序不断尝试连接到某个端口(没有人在监听)时,例如端口 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吗?如果有人知道它,那么在您的程序中避免它的最佳方法是什么。

4

0 回答 0