无法绑定到端口,即使 tcpview 显示该端口未被使用

无法绑定到端口,即使 tcpview 显示该端口未被使用

在我尝试在 WinXP 机器上启动 Java 应用服务器时,它经常在尝试侦听端口时无法启动并出现“地址已在使用中”错误。对我来说,通常的解决方案是启动 tcpview(来自 sysinternals),查看正在使用该端口的进程,终止该进程,然后重试。99% 的时间都有效。

然而,剩下的 1% 不起作用。应用服务器坚持认为端口(例如端口 1099,这并不重要)正在使用中,而 tcpview 也同样坚持认为没有使用。

应用服务器只是将服务器套接字创建委托给 Windows,因此我认为这不是特定于 Java 的问题,尽管我很高兴对此进行纠正。

怎么回事?tcpview 是否遗漏了一些特殊情况?有没有更好的工具可以帮助我诊断这些情况?

答案1

很奇怪。要查明问题,您可以尝试

网络状态监测

它也应该列出所有正在使用的端口。如果不一致,则问题可能出在 tcpview 上。否则,您必须寻找其他地方。

答案2

另外你可以尝试

netstat -ano

找到 ProcessID 并稍微缩小范围,假设你的端口是 8191

netstat -ano | find "8191"

相关内容