在我的项目中,我有一个用户,该用户可以在两个频道中,但我希望这个用户可以接收两个不同频道的通知。
我可以问一个问题吗?
如何让客户加入多个会议室,并在不同的两个会议室同时接收2个通知。
我的代码在这里: client.js
var socket = io.connect('localhost:3000');
socket.on('connect', function(){
socket.emit("subscribe",'test');
});
socket.on('message', function(message) {
console.log('Receive >>', message);
});
server.js
var client = redis.createClient();
io.sockets.on('connection', function (socket) {
var broadcast = function(channel, message){
socket.broadcast.to(channel).emit('message', message);
}
socket.on("subscribe",function(channel){
client.subscribe(channel);
socket.join(channel);
});
socket.on('disconnect', function() {
client.unsubscribe(channel);
client.removeListener(broadcast)
})
client.on("message", broadcast);
});
我想:socket.on("subscribe",function(channel){
client.subscribe(channel, channel1, channel2);
socket.join(channel, channel1, channel2);
});
但是socket.io不支持。 请给我一个想法或建议。非常感谢!