美文网首页程序员
TCP回环连接导致的端口已占用

TCP回环连接导致的端口已占用

作者: SK木眠 | 来源:发表于2018-06-27 18:17 被阅读0次

    昨天遇到一个奇怪的问题,MQ意外挂掉后无法重启,Java抛了成吨的异常,找了找发现问题是端口已占用,本来以为是监听端口被哪个第三方服务给抢了,但是netstat后看到一个奇怪的TCP回环连接:

    TCP    127.0.0.1:61616    127.0.0.1:61616    ESTABLISHED    9432
    

    pid9432是公司的某个服务,而它的监听端口也没有61616,并且TCP连接状态是established,因此猜想可能是MQ挂掉之后它与MQ的某次尝试重连时分配到的端口刚好是61616,导致建立了一个无用的回环连接并且一直占用了这个端口。
    不过这个问题算是无伤大雅,毕竟当MQ正常运行时应该是不会出现这种问题的,好奇去找了下有没有相关的资料或解释,看到了这篇文章:
    Shallow Rampa - TCP Loop Connect

    图片.png

    说明得比较清楚,也印证了我的猜想,还包括一些可能场景和简单测试,有兴趣的读者可以去接着了解一下。

    相关文章

      网友评论

        本文标题:TCP回环连接导致的端口已占用

        本文链接:https://www.haomeiwen.com/subject/qjkpyftx.html