這是所有相當與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