【问题标题】:Two listeners on the same port?同一端口上的两个侦听器?
【发布时间】:2013-07-31 20:32:45
【问题描述】:

我很惊讶地看到 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。他们中的一个不应该得到绑定错误/地址已经在使用或一些这样的错误吗?

我正在运行 Microsoft Windows Server 2008 R2 Enterprise,6.1.7600 N/A Build 7600

【问题讨论】:

    标签: windows sockets


    【解决方案1】:

    一般来说你是对的。但是,有一些选项可以让这种事情发生。您可能想查看SO_REUSEADDR 以及它如何影响行为。

    基本上,如果您设置SO_REUSEADDR 另一个进程可以bind 套接字。有关此(以及 SO_EXCLUSIVEADDRUSE 选项)的更多详细信息,请查看标题为 Using SO_REUSEADDR and SO_EXCLUSIVEADDRUSE 的 MSDN 页面。

    【讨论】:

    • 谢谢。这很可能是原因。不知道如何解决它,希望有一些方法可以告诉 tomcat 与 SO_EXCLUSIVEADDRUSE 绑定。
    猜你喜欢
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2015-04-17
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2021-02-09
    相关资源
    最近更新 更多