socket.io чат с приватными комнатами - PullRequest
11 голосов
/ 16 сентября 2011

Я начал изучать node и socket.io.

Я уже создал простое приложение для чата, и я поражен тем, насколько легко это было.

Теперь я хотел бы взятьЧуть дальше и предоставлю список онлайн-пользователей, которые могут общаться друг с другом наедине.

Как лучше всего подойти к этому?

Я читаю на 0,7 'новая функция комнаты.Будет ли это путь?Динамически создавать новую комнату каждый раз, когда 2 пользователям нужно общаться в частном порядке?Но как второй пользователь будет уведомлен о создании новой комнаты, чтобы он мог подключиться туда?

Лучше ли самому обрабатывать всю вышеуказанную логику?Храните комнаты и серверную часть пользователей и просматривайте их каждый раз и отправляйте сообщения соответствующим?

Спасибо

Ответы [ 2 ]

14 голосов
/ 16 сентября 2011

Если единственная функциональность, которую вы хотите, - это чтобы два человека могли отправлять сообщения друг другу (а не группам людей, чтобы у них была комната), тогда логика могла бы быть примерно такой:

  1. Когда пользователь подключается, сохраните его подключение в объекте, указанном по имени пользователя (или в любой другой структуре данных, которая гарантирует, что вы можете найти подключение конкретного пользователя).
  2. Когда Боб хочет поговорить с Джеффом, отправьте серверу событие с указанием такого.
  3. Сервер ищет соединение Jecket's Socket.IO в объекте с шага 1.
  4. Сервер использует это соединение для отправки Джеффу (и только Джеффу) личного сообщения.
1 голос
/ 16 сентября 2011

Хей Томас

если есть только 2 пользователя, которые говорят, что вам не нужно использовать publish att all, просто отправьте это сообщение от клиента на сервер и позвольте серверу найти другого клиента и отправить его вниз.

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