2010-10-10 8 views
2

Je souhaite utiliser server.get_request() pour recevoir des demandes, mais je souhaite qu'il expire après 500 millisecondes. Est-ce correct? Ça ne semble pas marcher ... merci.Comment définir le délai d'un SocketServer en Python?

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

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

Répondre

3

Je crois qu'il ya des endroits mal:

  1. La classe dérivée de SocketServer.BaseRequestHandler devrait être MyUDPServerHandler ou quelque chose d'autre, mais ne devrait pas être UDPServer qui est une classe intégrée dans SocketServer
  2. Il devrait être server = SocketServer.UDPServer(('localhost', '12345'), MyUDPServerhandler)
  3. Alors peut-être que ce devrait être server.timeout = .500. Et définissez une méthode handle_timeout()
+0

Vous avez raison concernant la convention de dénomination. J'ai oublié ça. Étonnamment, cela ne causait aucun problème. Mais je vois, c'est juste une variable, accessible via l'opérateur point. Je n'ai pas compris comment le régler. Merci. –

Questions connexes