fastdfs icon indicating copy to clipboard operation
fastdfs copied to clipboard

网络中断后,服务端tracker持有的连接数不会自动释放吗

Open zjun1001 opened this issue 3 years ago • 2 comments

现象: 模拟网络波动(拔掉网线,过一会,再重插)后发现:当网络恢复正常后,客户端会与服务端重新建立一条链接,但原来的连接并未释放。

问题: 客户端每次重连前,都会释放上一次的连接。正常测试没有问题。但当遇到网络波动这种情况后,就会出现多一条连接现象。请问,是不是在网络波动时候,虽然客户端释放了连接,但服务端感知不到,所以服务端持有的连接就一直没有释放。

zjun1001 avatar Nov 04 '21 07:11 zjun1001

这几天我在开发 fastdfs golang 客户端的过程中,也在测试网络中断情况下的细节问题。 如果客户端连接到服务器,故意拔掉网线之后,trackerServer 服务器端建立的连接的确没有及时释放,

后来经过多次测试,发现 trackerServer 服务器的连接会被自动释放,大概在4分钟左右(因为我修改了后文配置参数), 经过多次测试、验证,发现一个tcp连接应该是在接受、发送超时后,会被服务器自动清理,是这个逻辑吗?

# network timeout in seconds for send and recv
# default value is 30
network_timeout = 300

@happyfish100

qifengzhang007 avatar Mar 04 '22 05:03 qifengzhang007

这几天我在开发 fastdfs golang 客户端的过程中,也在测试网络中断情况下的细节问题。 如果客户端连接到服务器,故意拔掉网线之后,trackerServer 服务器端建立的连接的确没有及时释放,

后来经过多次测试,发现 trackerServer 服务器的连接会被自动释放,大概在4分钟左右(因为我修改了后文配置参数), 经过多次测试、验证,发现一个tcp连接应该是在接受、发送超时后,会被服务器自动清理,是这个逻辑吗?

# network timeout in seconds for send and recv
# default value is 30
network_timeout = 300

@happyfish100

是的。

happyfish100 avatar Mar 12 '22 07:03 happyfish100