2016-03-09 2 views
1

Я создаю сложное приложение для чата, используя WebSockets. Я использую библиотеку Socket.IO Node.JS для реализации протокола. Должен ли я создать отдельное пространство имен для каждого чата или отдельную комнату для каждого чата?Дизайн шаблона для WebSockets через Socket.IO

В чем основное отличие между пространствами имен и номерами в Socket.IO?

ответ

2

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

Используйте пространства имен, если есть разные типы клиентов. Например, анонимные пользователи и прошедшие проверку подлинности пользователи. В этом случае, возможно, потребуется обработать входящие запросы на соединение по-разному.

var guest = io.of('/guest'); 
guest.on('connection', function(socket) { 
    console.log('A guest client connected'); 
}); 

var user = io.of('/user'); 
user.on('connection', function(socket) { 
    var authenticated = authenticate(); //authenticate the user 
    if (!authenticated) { 
     // log attempt and disconnect the client 
    } 
}); 
Смежные вопросы