这是所有相当与socket.io客房设有简单。查看LearnBoost wiki上的文档。
https://github.com/LearnBoost/socket.io/wiki/Rooms
它允许连接到多个房间在单个插座。我用下面的代码进行了一次快速测试。
服务器
io.sockets.on('connection', function(socket){
socket.on('subscribe', function(room) {
console.log('joining room', room);
socket.join(room);
})
socket.on('unsubscribe', function(room) {
console.log('leaving room', room);
socket.leave(room);
})
socket.on('send', function(data) {
console.log('sending message');
io.sockets.in(data.room).emit('message', data);
});
});
客户
var socket = io.connect();
socket.on('message', function (data) {
console.log(data);
});
socket.emit('subscribe', 'roomOne');
socket.emit('subscribe', 'roomTwo');
$('#send').click(function() {
var room = $('#room').val(),
message = $('#message').val();
socket.emit('send', { room: room, message: message });
});
从快速通道发送消息是很简单的为好。
app.post('/send/:room/', function(req, res) {
var room = req.params.room
message = req.body;
io.sockets.in(room).emit('message', { room: room, message: message });
res.end('message sent');
});
你解决了这个问题吗?如果是的话,你可以指向我的源代码?谢谢 – sinusGob 2017-05-01 20:55:19