Веб-сокеты - загрузка сервера - PullRequest
1 голос
/ 16 января 2010

Я пытаюсь освоить новую технологию под названием Web Sockets. У меня есть настройка (pywebsocket как модуль Apache2), и я играю с примерами. http://code.google.com/p/websocket-sample/wiki/samples?ts=1262888726&updated=samples

Одна вещь беспокоит меня - все примеры используют общий файл для отслеживания изменений в счетчике сообщений, счетчике пользователей.

Таким образом, в основном, когда я подключаюсь к ws: // localhost / chat с двумя браузерами, будут запущены 2 экземпляра chat_wsh.py (обработчики websock). Правильно? И все они будут обращаться к файлу / базе данных для подсчета.

Это может быть глупый вопрос, но я не сетевой гуру - возможно ли передать сообщение всем соединениям из одного обработчика.

Например: Пользователь из чата отправляет сообщение - сообщение через websocket попадает в обработчик websocket, который, в свою очередь, передает информацию о получении нового сообщения всем остальным экземплярам чата, устраняя, таким образом, необходимость для каждого экземпляра постоянно проверять один общий файл / базу данных.

Надеюсь, в этом есть смысл:)

1 Ответ

3 голосов
/ 26 января 2010

Я думаю, вы пытаетесь описать UDP Multicast.

См. Эту ссылку для получения дополнительной информации Multicast

К сожалению, веб-сокеты работают по протоколу TCP, как вы обнаружили для соединений один-к-одному.

Вы можете посмотреть что-то вроде memcached http://memcached.org/, чтобы сделать его "минимальным издержками" для сохранения общего состояния чата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...