消息特定socket.io客户在我的Express服务器,我使用socket.io和Redis的发布订阅。 服务器预订一个Redis的消息信道,并当有人通过Redis的新发布消息转发Redis的消息发送到特定的WebSocket客户端。前进的Redis PubSub的快递
从我从socket.io和Redis文档中读到的内容,我可以使用变量socket
和致电socket.broadcast.to(mySocketID).emit
向特定客户端发送消息。
但是,在下面的代码中,如果我想要发送消息给mySocketID
内部的redis用户,该用户不在io.on('connection')
的范围内,该怎么办?
var redis = require('redis');
var server = require('http').createServer(app);
var io = require("socket.io")(server);
io.on('connection', function (socket) {
socket.on('whatever_event', function() {
socket.broadcast.to(mySocketID).emit('TEST', 'hello ' + mySocketID);
}
}
var subscriber = redis.createClient();
subscriber.on('message', function (channel, redisMessage) {
// I want to send redisMessage to the websocket client
// Can I access to "socket" in io.on('connection' ...) ?
});