节点js,socket.io,redis和pm2

时间:2018-07-31 14:16:21

标签: node.js rest redis socket.io pm2

我们的系统包括一个NodeJs Restful API服务器。该服务器还用作套接字IO服务器。许多设备将通过套接字io连接到服务器,用户可以通过调用Restful API来控制设备,服务器将通过套接字IO将命令传输到设备。我们使用pm2来集群API服务器。您能否帮助如何使用Redis.io服务器来支持将消息从群集发送到特定的套接字实例?

1 个答案:

答案 0 :(得分:3)

如果您已经设置了Redis服务器,则只需设置socket.io-redis适配器:https://www.npmjs.com/package/socket.io-redis

最好从那里开始将传入的socket.io连接加入设备特定的房间。通常,这是通过socket.join()事件中的connection实现的。

从那里,您可以调用.to().emit()方法将数据发送到设备。使用房间,无论它们连接到哪个实例,都可以忽略套接字并将消息传输到设备