Поддержка нескольких частных каналов с помощью sockjs

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

Я пытаюсь использовать sockjs для этого, но у меня возникают проблемы с созданием нового экземпляра соединения sockjs для каждой комбинации пользователь-пользователь.

Есть ли инструменты, которые могли бы помочь мне в этом?

Я пробовал мультиплексировать, но кажется, что он разделяет экземпляр канала, но по-прежнему использует одно и то же соединение. (это означает, что люди на другом «канале» все еще могут получать мое сообщение)


person Eugene Choi    schedule 16.07.2014    source источник


Ответы (1)


Вы можете использовать подход socket.io «Rooms», это позволит вам иметь выделенный «канал» для каждого пользователя.

io.on('connection', function(socket){
  socket.join(userID + '_room');
});

Другой вариант — использовать выделенные серверы чата (http://prosody.im/, ejabberd и многие другие).

person JAR.JAR.beans    schedule 29.12.2014