SummoningFriend 2024-04-09 16:50 采纳率: 0%
浏览 27

windows11 拔掉网线TCP断开

windows 11 多个网络适配器同时启用,网络电缆被拔出,TCP连接立刻断开。只启用以太网,网络电缆被拔出,TCP连接可保持Established状态。我在Windows7,和Linux上进行测试,即使启用多个适配器,拔掉网线后,TCP连接保持Established状态。

这种行为令人难以理解。我的预期是断开网线,TCP连接应该保持。

操作系统:Windows 11 家庭中文版 21H2
网络适配器: Intel Ethernet Connection(16) I219-V, Intel Wi-Fi 6 AX201 160MHz

只启用以太网时,使用putty工具ssh连接到IP地址222.111.112.201后。拔掉网线后,TCP连接是一直存在的,重新插入网线,ssh可以继续正常使用。

img

img

启用以太网和WLAN时,使用putty工具ssh连接到IP地址222.111.112.201后。拔掉网线后,TCP连接立刻消失,putty提示Network error: Software caused connection abort.

img

img

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-04-15 23:30
    关注

    晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    针对Windows11多网卡启用时,拔掉网络电缆TCP连接立刻断开的问题,可以采取以下解决方案:

    1. 禁用非必要的网络适配器:在网络适配器设置中,禁用非必要的网络适配器,只启用必要的以太网或Wi-Fi适配器。

    2. 配置网络适配器绑定:设置网络适配器绑定,使TCP连接绑定到指定的网络适配器上,避免TCP连接因多网卡切换而断开。

    3. 使用TCP Keep-Alive机制:在TCP连接上启用TCP Keep-Alive机制,定期发送心跳包,保持TCP连接的可靠性,即使网络电缆被拔出,TCP连接也能保持连接状态。

    代码实现(在使用Python编写的程序中,启用TCP Keep-Alive机制):

    import socket
    
    #创建TCP连接
    sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #启用Keep-Alive机制
    sock.setsockopt(socket.SOL_SOCKET,socket.SO_KEEPALIVE,1)
    #设置Keep-Alive时间
    sock.setsockopt(socket.IPPROTO_TCP,socket.TCP_KEEPIDLE,60)
    sock.setsockopt(socket.IPPROTO_TCP,socket.TCP_KEEPINTVL,5)
    sock.setsockopt(socket.IPPROTO_TCP,socket.TCP_KEEPCNT,5)
    #连接目标主机
    sock.connect(('222.111.112.201',22))
    
    #使用TCP连接
    #...
    
    #关闭TCP连接
    sock.close()
    

    以上是针对Windows11多网卡启用时,拔掉网络电缆TCP连接立刻断开的解决方案和实现方式,希望可以帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 修改了问题 4月10日
  • 创建了问题 4月9日