如何在Python中设置SocketServer的超时时间?

2 投票
1 回答
1055 浏览
提问于 2025-04-16 05:16

我想用 server.get_request() 来接收请求,但我希望它在500毫秒后超时。这样做对吗?好像不太管用……谢谢。

class UDPServer(SocketServer.BaseRequestHandler):
    timeout = .500

if __name__ == "__main__":
    server = SocketServer.UDPServer(('localhost', '12345'), UDPServer)
    server.get_request()

1 个回答

3

我觉得这里有几个地方不太对:

  1. SocketServer.BaseRequestHandler 继承的类应该是 MyUDPServerHandler 或者其他名字,而不应该是内置的 UDPServer 类。
  2. 应该是 server = SocketServer.UDPServer(('localhost', '12345'), MyUDPServerhandler) 这样写。
  3. 然后可能还需要设置 server.timeout = .500,并定义一个 handle_timeout() 方法。

撰写回答