node.js - socketio Node 为另一个命名空间发出

标签 node.js socket.io namespaces

我在Nodejs中使用socketIO,我正在处理两种类型的连接/命名空间、用户和设备,以便特定用户可以控制特定设备。

我为用户创建命名空间,为设备创建另一个命名空间。

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
});

是否有更好的设计模式来处理这种情况?

谢谢。

最佳答案

您可以使用同一个实例来发出这些事件,如下所示。

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')
});

关于node.js - socketio Node 为另一个命名空间发出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35185534/

相关文章:

node.js - 为什么我的 express 服务器上得到 'Cannot GET/'?

java - 在android中实现Socket.io的最佳方式

node.js - socket.io:错误请求,从外部连接

javascript - 创建一个 NodeJS 模块

javascript - 使用nodejs通过steam登录登录网站

node.js - 从hostgator的vps运行 Node

c# - C#中的命名空间冲突

model - MVC4 模型 DefaultValue 命名空间?

asp.net - 为什么这个清晰可见的符号无法解析?

javascript - Graphql 需要外部模块与 GraphQLObjectType 内部模块