Python 套接字客户端等待时间



如何让套接字只等待一定时间再继续。我有一个客户端期望来自 android 中的广播接收器的数据包,但每当它没有通过套接字获取数据包时,它就会永远等待。是否可以将 python 中的特定接收请求超时到 5 秒? 这可能微不足道,但我来自Java背景

def obtain_packet(self):
datarecevied = self.GetPCSocket().recv(4096)
print datarecevied
return str(datarecevied.strip())

从文档中:

socket.settimeout(value)

设置阻止套接字操作的超时。value 参数可以是表示秒的非负浮点数,也可以是 None。如果给定浮点数,则后续套接字操作将在操作完成之前超过超时期限值时引发超时异常。将超时设置为"无"将禁用套接字操作的超时。s.settimeout(0.0) 等价于 s.setblocking(0);s.settimeout(None) 等价于 s.setblocking(1)。

最新更新