Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中设置SocketServer的超时?_Python_Sockets_Udp - Fatal编程技术网

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

如何在Python中设置SocketServer的超时?,python,sockets,udp,Python,Sockets,Udp,我想使用server.get_request()来接收请求,但我希望它在500毫秒后超时。这是正确的吗?似乎不起作用。。。谢谢 class UDPServer(SocketServer.BaseRequestHandler): timeout = .500 if __name__ == "__main__": server = SocketServer.UDPServer(('localhost', '12345'), UDPServer) server.get_req

我想使用
server.get_request()
来接收请求,但我希望它在500毫秒后超时。这是正确的吗?似乎不起作用。。。谢谢

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

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

我觉得有些地方不对:

  • SocketServer.BaseRequestHandler
    派生的类应该是
    MyUDPServerHandler
    或其他类型,但不应该是作为SocketServer中内置类的UDPServer
  • 它应该是
    server=SocketServer.UDPServer(('localhost','12345'),MyUDPServerhandler)
  • 那么可能应该是
    server.timeout=.500
    。并定义一个
    句柄\u timeout()
    方法

  • 关于命名约定,您是对的。我忽略了这一点。令人惊讶的是,这并没有引起任何麻烦。但我明白了,它只是一个变量,可以通过点运算符访问。我不知道如何设置它。谢谢