Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.1.158] |
|
Сообщ.
#1
,
|
|
|
здравствуйте!
задача: 1) нужно реализовать на питоне клиент серверную архитектуру. 2) сервер естественно должен быть многопоточным после прочтения статейки на хабре http://habrahabr.ru/post/84629/ я малость разочаровался в самом "крутом и современном языке программирования" так вот вопрос: в какую сторону копать? использовать просто многопоточный сервер или асинхронный многопоточный сервер если сервер должен будет постоянно держать соединение со всеми клиентами одновременно и иногда обмениваться с ними данными. время на передачу данных не очень критично. периодичность обмена данными примерно раз в 1 - 5 минут. желательно выиграть побольше производительности и снизить использование ОЗУ в разумных пределах. конкретное число клиентов сказать даже не могу. задача изъяснялась на пальцах и по пьяни) |
Сообщ.
#2
,
|
|
|
Есть Cython, например или PyPy, или PyPySTM. Путей много, на самом деле. Выбирать вам.
Можно еще глянуть asyncio |
Сообщ.
#3
,
|
|
|
Если клиентов много и надо держать соединения открытыми, то вам видимо ближе неблокирующий вариант сервера.Современный подход для неблокирующего ввода вывода в python это asyncio. Эта библиотека сравнительно нова, однако на её основе уже появляются решения: aiohttp, aio-libs. Или можете взять tornado, как более устоявшееся решение. Но я бы взял Go вместо python.
|
Сообщ.
#4
,
|
|
|
спасибо! сделал через asyncio к тому же она входит в стандартную поставку питона 3.4
|