Gevent несколько слушателей StreamServer - PullRequest
3 голосов
/ 16 марта 2011

У меня есть демон, у которого есть пул соединений с handlerSocket. У меня есть 2 типа клиентов и их протокол отличается. Я хочу настроить 2 слушателя, который обрабатывает каждый протокол и разделяет пул соединений между ними. В скручивании это относительно легко сделать, но не смог узнать, как это сделать в Gevent. Спасибо!

Ответы [ 3 ]

5 голосов
/ 14 июля 2011

В дополнение к ответу frx, вот класс для управления несколькими серверами: https://gist.github.com/1008826

5 голосов
/ 17 марта 2011

Первый экземпляр StreamServer может быть запущен с: server.start (), а второй с server2.serve_forever ()

0 голосов
/ 09 декабря 2011

Я думаю, что проблема будет в методе stop () StreamServer.Это убивает пул, поэтому при завершении одного из слушателей все соединения будут сброшены с обоих слушателей.Если это вас не пугает, вы можете просто передать один и тот же объект Pool обоим StreamServers, запустив каждый из них в отдельном greenlet.

...