gevent plusieurs auditeurs de StreamServer
Question
Je démon qui a une piscine de connexion handlerSocket. J'ai 2 types de clients et de leurs diffère de protocole. Je veux installer 2 auditeurs qui gère chaque protocole et partage pool de connexion entre eux. Dans ce torsadé est relativement facile à réaliser, mais n'a pas pu savoir comment faire en gevent. Merci!
La solution
première instance de StreamServer pourrait démarrer avec: server.start () et le second avec server2.serve_forever ()
Autres conseils
En plus de la réponse de FRx, voici une classe pour gérer plusieurs serveurs: https://gist.github.com/ 1008826
Je pense que le problème viendra de méthode stop () du StreamServer. Il tue la piscine, donc, en terminant l'un des auditeurs baissera toutes les connexions, des deux auditeurs. Si cela est ne vous fait pas peur, vous pouvez simplement passer le même objet de la piscine à la fois StreamServers, en cours d'exécution chacun d'eux dans le Greenlet séparé.