Tcp 什么';苏博士是真的吗

Tcp 什么';苏博士是真的吗,tcp,Tcp,在关于的手册页中,请重新使用EADDR(man 7插座): 当侦听套接字绑定到具有特定端口的INADR_ANY时,则无法为任何本地地址绑定到此端口。参数是一个整数布尔标志 但在Unix网络编程中,我发现: 因此,只要每个实例绑定不同的本地IP地址,REUSEADDR就允许在与绑定到通配符地址的现有服务器相同的端口上启动新服务器。这对于使用IP别名技术托管多个HTTP服务器的站点来说很常见(第a.4节)。假设本地主机的主IP地址为198.69.10.2,但它有两个别名:198.69.10.128和

在关于的手册页中,请重新使用EADDR(man 7插座):

当侦听套接字绑定到具有特定端口的INADR_ANY时,则无法为任何本地地址绑定到此端口。参数是一个整数布尔标志

但在Unix网络编程中,我发现:

因此,只要每个实例绑定不同的本地IP地址,REUSEADDR就允许在与绑定到通配符地址的现有服务器相同的端口上启动新服务器。这对于使用IP别名技术托管多个HTTP服务器的站点来说很常见(第a.4节)。假设本地主机的主IP地址为198.69.10.2,但它有两个别名:198.69.10.128和198.69.10.129。启动了三个HTTP服务器。第一个HTTP服务器将使用通配符作为本地IP地址和本地端口80(众所周知的HTTP端口)调用bind。第二台服务器将使用198.69.10.128的本地IP地址和80的本地端口调用bind。但是,对bind的第二次调用失败,除非在调用之前设置了SO\u REUSEADDR。第三台服务器将绑定198.69.10.129和端口80。同样,要使最后一次调用成功,需要使用REUSEADDR


它们不矛盾吗?

它们没有冲突。第二个引号提供了一种绕过第一段中指定的默认行为的方法。

谢谢!在tcp中,这样说是否正确:本地ip和INADDR_ANY(同一端口)被视为冲突地址,并且绑定将失败,无论是否设置了REUSEADDR?你能给我讨论链接吗?也许可以看到更多的详细信息。