为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python的socket recv方法上设置超时?

如何在python的socket recv方法上设置超时?

猛跑小猪 2019-11-26 14:29:18
我需要在python的socket recv方法上设置超时。怎么做?
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

如果要实现服务器端,则要查找的超时是连接套接字的超时,而不是主套接字的超时。换句话说,连接套接字对象还有另一个超时,这是socket.accept()方法的输出。因此:


sock.listen(1)

connection, client_address = sock.accept()

connection.settimeout(5)    # This is the one that affects recv() method.

connection.gettimeout()     # This should result 5

sock.gettimeout()           # This outputs None when not set previously, if I remember correctly.

如果实现客户端,那将很简单。


sock.connect(server_address)

sock.settimeout(3)


查看完整回答
反对 回复 2019-11-26
  • 3 回答
  • 0 关注
  • 7237 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信