我很惊讶地看到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/

10-12 02:53