2

我正在使用许多不同的库,每个库都使用不同的底层方式来建立套接字连接,例如 urllib3、requests 和 httplib。这是在 python 2.7.5 中。

定期地,程序会挂在等待网络 IO 完成的库中。

我试过 socket.setdefaulttimeout(1.0) 和 socket._GLOBAL_DEFAULT_TIMEOUT = 1.0,都对我的程序没有任何影响。

设置全局套接字超时的正确方法是什么?

4

1 回答 1

4

正如函数名称所暗示的那样,setdefaulttimeout它只是默认值。如果任何其他库在套接字上设置超时,它将覆盖此默认值。所以我别无选择,只能在每个库中显式设置超时

完整的答案可以在这里找到

于 2014-02-06T13:59:25.930 回答