如果您选择了随机但有效的IP地址和端口,
socket.connect()则将尝试建立与该端点的连接。默认情况下,如果未为套接字设置显式超时,则这样做会阻塞并最终超时,从而引发exception
socket.error: [Errno 110] Connection timed out。
我的计算机上的默认超时为120秒。也许您没有等待足够长的时间
socket.connect()来返回(或超时)?
您可以尝试减少超时,如下所示:
import sockets = socket.socket()s.settimeout(5) # 5 secondstry: s.connect(('123.123.123.123', 12345)) # "random" IP address and portexcept socket.error, exc: print "Caught exception socket.error : %s" % exc请注意,如果为套接字显式设置了超时,则异常将是由上述except子句
socket.timeout派生的
socket.error,因此将被上述except子句捕获。



