Форум сайта python.su
Всем привет! Работаю с питоном недавно, стоит задача написать многопользовательский сокет сервер. Смотрел можно сделать сервер с помощью asyncore или на каждое подключение делать отдельный поток. Как лучше, что бы было много подключений и при этом минимизировать нагрузку на сервер?
Офлайн
Подход зависит от задачи и условий - на какой OC будет работать сервер? Сколько предположительно будет клиентов/соединений? Объем предполагаемых данных?
Офлайн
Для обучения полезно попробовать оба способа.
PS: сделать сервер c помощью asyncore недостаточно. Он будет брать/сохранять данные из БД, файлов, сети. А взаимодействие с указанными ресурсами тоже нужно реализовать на неблокирующих сокетах, иначе затея не имеет смысла.
Офлайн
s0rgсейчас создаю на Windows SP2, если сделаю то на хостинге на линуксе(или может какая нибудь другая ОС из семейства уникс) будет работать.
на какой OC будет работать сервер?
s0rgклиентов для начала максимум 500 хватит, в дальнейшем если всё будет ок максимум до 1000
Сколько предположительно будет клиентов/соединений? Объем предполагаемых данных?
dimabestбрать/сохранять данные из БД, по несколько кБ за 1 запрос
Он будет брать/сохранять данные из БД, файлов, сети.
Офлайн
asyncore - вполне подойдет под ваши требования, если захотите делать на потоках - смотрите сразу на пулы потоков - удобнее будет.
Если протокол ваш же, можете попробывать ZeroMQ.
Офлайн
s0rgкак протокол мой? Вы имеете в виду отдельный порт?
Если протокол ваш же, можете попробывать ZeroMQ.
Офлайн
Какой тип данных принимается/отдается?
Офлайн
http://python.su/forum/viewtopic.php?id=12050
Просто примите к сведению.
Отредактировано (Сен. 26, 2011 22:09:20)
Офлайн
Lexanderstring и int
Какой тип данных принимается/отдается?
Офлайн
TownsmenelА что вам мешает? )
а можно просто асинхронный сервер без ZeroMQ?
Офлайн