2016-02-03 3 views
0

Я использую socketIO в Nodejs, я работаю над двумя типами соединений/пространств имен, пользователей и устройств, так что конкретный пользователь может управлять определенным устройством.socketio node emit для другого пространства имен

Я использую пространство имен для пользователей и другое для устройств.

var users = io.of('/users').on('connection', function(socket){ 
    // here I need to emit an event for another namespace 
}); 

var devices = io.of('/devices').on('connection', function(socket){ 
    // here's the namespace that contains the event I need to fire from users namespace 
}); 

Есть ли лучший дизайн для обработки такого корпуса?

Спасибо.

ответ

2

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

var users = io.of('/users'); 
var devices = io.of('/devices') 

users.on('user_action', function(socket){ 
    devices.emit('device_custom_event'); 
}); 

devices.on('connection', function(socket){ 
    users.emit('device_connected') 
}); 
+0

Да, это работает, я добавил еще один ответ для обработки решения, которое предназначается для конкретного клиента в другом пространстве имен, спасибо :) –

0

Я нашел хорошее решение:

io.of('/devices').to(socket_id).emit('event_name'); 
Смежные вопросы