Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 所以\u REUSEADDR导致服务器重复使用时间\u等待连接?_Linux_Sockets_Networking_Tcp - Fatal编程技术网

Linux 所以\u REUSEADDR导致服务器重复使用时间\u等待连接?

Linux 所以\u REUSEADDR导致服务器重复使用时间\u等待连接?,linux,sockets,networking,tcp,Linux,Sockets,Networking,Tcp,据我所知,SO_REUSEADDR允许服务器绑定到一个处于TIME_WAIT状态的地址。但在接受新连接时,它如何影响服务器的操作 假设我们在主机A和服务器B之间通信,其侦听套接字是在启用SO_REUSEADDR的情况下设置的,并且有一个连接C1=(A,PortA,B,ListenPort),它现在处于时间等待状态(从服务器B的角度来看) 现在,如果主机A尝试使用同一对(A,PortA)连接到B,那么即使C1仍然处于等待时间,是否也会建立重复连接C2=(A,PortA,B,ListenPort)?

据我所知,SO_REUSEADDR允许服务器绑定到一个处于TIME_WAIT状态的地址。但在接受新连接时,它如何影响服务器的操作

假设我们在主机A和服务器B之间通信,其侦听套接字是在启用SO_REUSEADDR的情况下设置的,并且有一个连接C1=(A,PortA,B,ListenPort),它现在处于时间等待状态(从服务器B的角度来看)


现在,如果主机A尝试使用同一对(A,PortA)连接到B,那么即使C1仍然处于等待时间,是否也会建立重复连接C2=(A,PortA,B,ListenPort)?为什么?

连接尝试(SYN)将以TIME\u WAIT状态发送到连接,这将导致它发出RST,这将导致客户端拒绝连接。

如果服务器套接字和客户端套接字都使用SO\u REUSEADDR,双方将能够绑定到他们以前使用的同一端口,客户端将能够建立到服务器的连接


我在内核为2.6.18的RedHat 5服务器上的两个本地套接字之间验证了这一点。

因此客户端a无法连接到服务器,除了接收/发送错误“10054-对等方重置连接”之外?@Steve这是我所期望的,是的。服务器重新绑定没有任何问题。