Найти - Пользователи
Полная версия: Проблемы с сервером (количеством подключений)
Начало » Python для новичков » Проблемы с сервером (количеством подключений)
1
DamMercul
Есть SHELL аккаунт за бесплатно (freeshells.org), и я захотел сделать программу-чат как всегда мечтал. Чтобы она была более-менее востребованная я решил использовать RSA шифрование (обмен ключами как с SSL только без сертификата). Но есть проблема. Допустим, есть список с сокетами юзеров моего чата. Как мне принимать от них сообщения, чтобы другие не ждали? Ведь “socket.recv” ждет до тех пор, пока не получит ответ. А если вдруг пользователей будет 5, или 10? Может быть 200? Что тогда? От каждого поочереди приниимать сообщения в уме не складывается! А делать по 200 потоков для каждого сокета очень зашкварно. Если других путей нет, кроме 200 потоков, напишите. Я смирюсь. Если есть, то спасибо заранее есл объясните как.
py.user.next
У тебя должна быть неблокирующая очередь, куда поступают все сообщения. Совсем другая архитектура, чем тебе кажется.

DamMercul
Ведь “socket.recv” ждет до тех пор, пока не получит ответ.
Это зависит от сокета, блокирующий он или неблокирующий. Для опроса сокетов есть select.

Тема сложная, без подготовки туда лучше не соваться. Придумай что-нибудь попроще, иначе утонешь и результат будет нулевой, только опыт.
DamMercul
Спасибо, но я все-таки попробую) *Кстати как-то очень много просмотров на вопросе*
vic57
сокеты в питоне - обертка над С-сокетами, лучше их изучи
http://www.bogotobogo.com/python/python_network_programming_tcp_server_client_chat_server_chat_client_select.php
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB