我有一个有趣的场景,其中2个应用程序正在侦听同一个端口。一个在环回地址上,一个在无效地址上。
我的理解是,一次只能有一个应用程序可以监听端口。那么,这怎么可能呢?
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:10006 0.0.0.0:0 LISTENING 1772
TCP 127.0.0.1:10006 0.0.0.0:0 LISTENING 3876
两者都是在系统帐户下启动的,两者都运行正常,但如果我将一个用户切换到本地用户,则该应用程序无法启动。如果我切换到本地用户,那么两者都开始正常。似乎两者都在相同的用户上下文中,两者都能够正常运行。
答案 0 :(得分:1)
0.0.0.0表示本地计算机上的所有IPv4地址。因此,如果机器有多个网络地址,它将为所有这些服务器提供服务。
环回与此截然不同,因此在同一端口上侦听但不同的适配器是合法的。