首页 > 解决方案 > 套接字连接的范围是什么?

问题描述

我对python中套接字连接对象的范围有疑问。

如果我们socket.setdefaulttimeout(seconds)在一个类中全局设置A,它会影响第三个API调用和正在由类中初始化的类实例执行的网络调用A吗?

标签: pythonsockets

解决方案


是的,默认超时将影响在同一进程中创建的所有新套接字,因此文档说:

为新的套接字对象设置默认超时(以秒为单位)(浮点数)。首次导入 socket 模块时,默认值为 None。查看settimeout()可能的值及其各自的含义。

如果您不希望默认超时影响它们,您的类可能应该设置和管理自己的套接字超时(使用per-socketsocket.socket.settimeout()方法)。


推荐阅读