我很惊讶地看到netstat报告在同一个端口上监听两个进程:
c:\Windows\System32>netstat -ao | find "8083"
TCP 0.0.0.0:8083 ***qa-w2k8-05:0 LISTENING 5532
TCP 0.0.0.0:8083 ***qa-w2k8-05:0 LISTENING 1572
TCP [::]:8083 ***qa-w2k8-05:0 LISTENING 5532
TCP [::]:8083 ***qa-w2k8-05:0 LISTENING 1572
c:\Windows\System32>tasklist | find "5532"
java.exe 5532 RDP-Tcp#0 2 1,448,776 K
c:\Windows\System32>tasklist | find "1572"
FrameworkService.exe 1572 Services 0 11,016 K
Java进程是我的Web服务器,FrameworkService是Mcafee。 http请求甚至没有到达我的服务器,因此我假设它到达了Mcafee。他们之一不应该得到绑定(bind)错误/地址已经在使用中或类似的错误吗?
我正在运行Microsoft Windows Server 2008 R2 Enterprise,6.1.7600 N/A Build 7600
最佳答案
通常您是正确的。但是,有一些选项可以使这种事情发生。您可能需要查看SO_REUSEADDR
及其对行为的影响。
基本上,如果您设置SO_REUSEADDR
,则另一个进程可以对套接字进行bind
。有关此内容(以及SO_EXCLUSIVEADDRUSE
选项)的更多详细信息,请查看标题为Using SO_REUSEADDR
and SO_EXCLUSIVEADDRUSE
的MSDN页面。
关于windows - 同一端口上有两个监听器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17980407/