Python中的套接字未连接某些设备

问题描述 投票:0回答:1

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

当我尝试与较长距离的设备连接时,显示超时错误。是因为距离长吗?

python sockets portforwarding
1个回答
0
投票

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

尝试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

如果确实花费太长时间,则可以设置套接字的超时时间

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# set timeout to 60 seconds
s.settimeout(60)
© www.soinside.com 2019 - 2024. All rights reserved.