【问题标题】:Socket in python is not connecting for some devicespython中的套接字未连接某些设备
【发布时间】:2020-05-28 15:14:06
【问题描述】:

我使用 python 套接字通过端口转发连接到不同网络上的其他设备。它适用于某些设备。

当我尝试连接更远距离的设备时,它会显示超时错误。是因为距离远吗?

【问题讨论】:

    标签: python sockets portforwarding


    【解决方案1】:

    这可能不是由于网络延迟。套接字超时通常在几十秒左右,而网络延迟很少超过一秒。您更有可能无法到达目标服务器。

    尝试 ping 以查看您是否可以到达目标服务器以及往返需要多长时间(最后一列)。

    % ping www.google.com
    PING www.google.com (172.217.164.100): 56 data bytes
    64 bytes from 172.217.164.100: icmp_seq=0 ttl=54 time=300.335 ms
    64 bytes from 172.217.164.100: icmp_seq=1 ttl=54 time=334.197 ms
    

    如果真的太长了,你可以设置你的socket的超时时间

    import socket
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # set timeout to 60 seconds
    s.settimeout(60)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多