【发布时间】:2011-07-16 09:34:37
【问题描述】:
我有一个守护进程,它有到 handlerSocket 的连接池。我有两种类型的客户端,它们的协议不同。我想设置 2 个侦听器来处理每个协议并在它们之间共享连接池。在扭曲中,这相对容易完成,但在 gevent 中找不到如何做到这一点。 谢谢!
【问题讨论】:
我有一个守护进程,它有到 handlerSocket 的连接池。我有两种类型的客户端,它们的协议不同。我想设置 2 个侦听器来处理每个协议并在它们之间共享连接池。在扭曲中,这相对容易完成,但在 gevent 中找不到如何做到这一点。 谢谢!
【问题讨论】:
StreamServer 的第一个实例可以用 server.start() 启动,第二个用 server2.serve_forever() 启动
【讨论】:
除了frx的回答,这里有一个管理多台服务器的类:https://gist.github.com/1008826
【讨论】:
我认为问题将来自 StreamServer 的 stop() 方法。 它会杀死池,因此,完成其中一个侦听器将断开两个侦听器的所有连接。 如果这不会吓到您,您可以简单地将相同的 Pool 对象传递给两个 StreamServer,在单独的 greenlet 中运行它们。
【讨论】: