gpt4 book ai didi

linux - 套接字绑定(bind)端口到我的本地主机和盒子 IP 中的相同端口

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:40 25 4
gpt4 key购买 nike

我试图理解一个设置,但我自己很困惑。

假设我的盒子 IP 是 xx.xx.xx.xx,127.0.0.1 是我的 Linux 盒子的本地环回。现在,当我对端口执行 netstat 时,我看到以下输出:

tcp        0      0 127.0.0.1:11191             0.0.0.0:*                   LISTEN      9999/myexe        off (0.00/0/0)
tcp 0 0 xx.xx.xx.xx:11191 0.0.0.0:* LISTEN 26998/anotherexe off (0.00/0/0)

输出的基本含义是什么 - 因为 127.0.0.1 和 xx.xx.xx.xx 指的是同一个框那么这是否意味着两个可执行文件已经绑定(bind)并且在同一个端口运行是同一个框 - 如果是这样,哪个二进制文件将服务就我而言,请求是否来自 11191 端口?

最佳答案

几乎可以肯定,其中每一个都是不同的界面,因此也是不同的互联网地址。也就是说,127.0.0.1 通常是环回接口(interface)。虽然大概 xx.xx.xx.xx 是一个真实的(以太网)网络接口(interface)。完全有可能将两个单独的程序绑定(bind)到不同地址上的相同端口号。更常见的是,单个程序简单地绑定(bind)到端口号,内核实际上将其转换为多个绑定(bind),每个绑定(bind)对应一个接口(interface)地址。

有关详细信息,请参阅 bind(2)ip(7) 手册页。具体来说,INADDR_ANY 是一个伪地址,可以由希望在所有接口(interface)上绑定(bind)该端口的服务器使用。

另见 Linux 副标题第一段下的答案:

Socket options SO_REUSEADDR and SO_REUSEPORT, how do they differ? Do they mean the same across all major operating systems?

关于linux - 套接字绑定(bind)端口到我的本地主机和盒子 IP 中的相同端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34899604/

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