我正在使用许多不同的库,每个库都使用不同的底层方式来建立套接字连接,例如 urllib3、requests 和 httplib。这是Python 2.7.5 中的。
程序会周期性地卡在其中一个库中,等待网络 IO 完成。
我尝试过socket.setdefaulttimeout(1.0)和socket._GLOBAL_DEFAULT_TIMEOUT = 1.0,但都对我的程序没有任何影响。
设置全局套接字超时的正确方法是什么?
最佳答案
正如函数名称所暗示的那样,setdefaulttimeout
只是默认值。如果任何其他库设置了套接字上的超时,它将覆盖此默认值。
所以我别无选择,只能在每个库中明确设置超时
完整的答案可以在 here 找到
关于python - 在 python 中设置全局套接字超时的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21602924/