gevent多个StreamServer监听器

时间:2011-03-16 08:00:12

标签: python gevent

我有守护进程,它有连接池到handlerSocket。我有两种类型的客户端,它们的协议不同。我想设置2个侦听器来处理每个协议并在它们之间共享连接池。在扭曲中,这相对容易实现,但无法在gevent中找到如何做到这一点。 谢谢!

3 个答案:

答案 0 :(得分:5)

StreamServer的第一个实例可以使用:server.start()启动,第二个使用server2.serve_forever()

启动

答案 1 :(得分:5)

除了frx的答案,这里还有一个管理多个服务器的课程:https://gist.github.com/1008826

答案 2 :(得分:0)

我认为问题将来自StreamServer的stop()方法。 它会杀死游泳池,因此,听众会听取所有听众的联系。 如果这不会吓到你,你可以简单地将同一个Pool对象传递给两个StreamServer,并在单独的greenlet中运行它们。