重度粉毛厨 (@MatsuzakaSato)看来很多人其实不知道Linux上的一个小常识 中发帖

问题
请快速思考三个问题: 
问题1
一个进程监听了 127.0.0.1:80/tcp 
再启动一个进程,监听 0.0.0.0:80/tcp 
能成功吗? 
问题2
一个进程监听了 0.0.0.0:80/tcp 
再启动一个进程,监听 127.0.0.1:80/tcp 
能成功吗? 
问题3
先将 [fd00::ffff:ff00]/32 绑定给 lo 
启动一个进程监听 [::]:80/tcp 
再启动一个进程监听 [fd00::ffff:ff00]:80/tcp 
能成功吗? 
结论
事实上,以上三个实验都会收到 EADDRINUSE,即 errno 98: Address already in use 
因此,对于这个问题而言: 

只要监听的IP落在当前网络命名空间的网卡下,其他进程就无法避免 Wildcard Address 在同端口监听时发生冲突。
 
 
Back to Top