【发布时间】:2019-02-05 18:27:28
【问题描述】:
- Python 2.7.9
- 请求 2.17.3
我们观察到,当我们从多个线程调用它时(我们同时运行两到八个线程):
with requests.Session() as s:
s.put((apiserverUrl + str(id_num) + '/'), headers=headers,
auth=auth, data=jsonPayload)
有时没有可用的客户端套接字,它会失败并出现 10048 winsock 错误。
在我查看的一些文档中,requests.Session() 似乎会自行关闭,而在其他地方则表明它在某些默认超时内保持打开状态。
在每次请求后正确关闭套接字的正确方法是什么?
【问题讨论】:
-
问题可能是在给定时间打开的套接字数量,而不是套接字是否正确关闭。
-
@mad_ 公平点。我们不会运行很多线程,OP 已更新。我想本地端口池比我们的线程数大得多,我强烈怀疑如果我们在使用后简单地关闭我们的端口,我们会很好。
-
您可能每次都需要关闭请求。
s.put(...).close()
标签: python sockets python-requests