gpt4 book ai didi

linux - 你怎么能有一个回到同一个端口的 TCP 连接?

转载 作者:IT王子 更新时间:2023-10-29 00:16:47 29 4
gpt4 key购买 nike

机器是 RHEL 5.3(内核 2.6.18)。

有时我在 netstat 中注意到当本地地址外部地址 相同时,我的应用程序有连接,建立了 TCP 连接。

Here其他人也报告了同样的问题。

症状与链接中描述的相同 - 客户端连接到本地运行的服务器的 X 端口。一段时间后,netstat 显示客户端已从 127.0.0.1:X 连接到 127.0.0.1:X

这怎么可能?

编辑 01

同时打开是导致问题的原因(非常感谢 Hasturkun)。你可以在classical TCP state diagram上看到它从 SYN_SENT 状态转换到 SYNC_RECEIVED

最佳答案

这可能是由 TCP 同时连接引起的(提到 on this post to LKML ,另请参阅 here )。

程序可能会循环尝试连接到动态本地端口范围内的端口(可以在 /proc/sys/net/ipv4/ip_local_port_range 中看到),同时成功服务器未在该端口上监听。

在足够多的尝试中,用于连接的套接字可能会绑定(bind)到正在连接的同一端口,由于前面提到的同时连接,它会成功。您现在神奇地拥有一个连接到自身的客户端

关于linux - 你怎么能有一个回到同一个端口的 TCP 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949858/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com