Python Socket Client等待时间

时间:2017-07-13 17:50:08

标签: java android python sockets

如何让套接字等待一段时间才能继续前进。我有一个客户端需要来自android中的广播接收器的数据包,但只要它不通过套接字获取数据包它就会永远等待。是否有可能在python中将特定的接收请求超时5秒? 这可能是微不足道的,但我来自java背景

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

1 个答案:

答案 0 :(得分:1)

From the docs

  

socket.settimeout(值)

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