我在Windows 7上使用Python 3.2.3,并且我有一段代码通过阻塞套接字连接到服务器,并带有用户指定的超时值。代码很简单:Python 3.2.3:套接字需要更长时间才能超时?
testconn = socket.create_connection((host, port), timeout)
的代码工作正常,除了奇怪的事实,即超时似乎需要更长的时间比它应该无效的请求。我试图故意连接到www.google.com:59855(随机端口应该表示它应该尝试连接,直到达到超时),超时时间为5秒,但似乎至少需要15秒才会超时。
是否有任何可能的原因和/或任何修复? (如果它不是可解决的,这不是一个大问题,但是不管怎样解决方案都是可以的。)提前致谢。
如果你指定一个超时,套接字不再处于阻塞模式。请参阅插座模块文档。 –
你误解了一件事。如果它得到'连接被拒绝',它将立即失败,根本没有任何重试。重试是针对没有收到答复的情况。 – EJP
@RolandSmith我无法在文档中的任何地方看到它所说的内容,反正它也没有意义。非阻塞连接将立即返回,而不是超时。 – EJP