我想知道其他人是否注意到了WSL2 Debian实现TCP的这个问题。
我正在从运行WSL2 Debian v. 20 的Docker容器连接。TCP客户端每秒发送一次Keep-Alive数据包,这有点过度。然后大约5分钟后,客户端没有任何原因就终止了连接。有人看到这种行为吗?
您可以通过只打开telnet会话到另一个主机来重现此问题。但是这种行为也会发生在其他类型的套接字上。
在你问之前,这个问题不是由服务器引起的,当从其他主机打开相同的TCP连接时,它不会发生。
我想知道其他人是否注意到了WSL2 Debian实现TCP的这个问题。
我正在从运行WSL2 Debian v. 20 的Docker容器连接。TCP客户端每秒发送一次Keep-Alive数据包,这有点过度。然后大约5分钟后,客户端没有任何原因就终止了连接。有人看到这种行为吗?
您可以通过只打开telnet会话到另一个主机来重现此问题。但是这种行为也会发生在其他类型的套接字上。
在你问之前,这个问题不是由服务器引起的,当从其他主机打开相同的TCP连接时,它不会发生。
echo 300 > /proc/sys/net/tcp_keepalive_time
echo 45 > /proc/sys/net/tcp_keepalive_intvl
所以我解决了这个问题。不幸的是,WSL2 实现的 Debian 似乎在堆栈中硬编码了这个问题。我尝试更改套接字打开调用的参数,但它们并没有改变行为。