0
我試圖播放一些信息到特定的房間:插槽IO不廣播到特定的房間
服務器端
var io = require('socket.io')(server, { path: '/my/path' });
server.listen(8090, function() {
console.log("Server ON.");
});
io.on('connection', function(socket){
socket.on('room', function(room) { //set the room
socket.join(room);
socket.room = room;
});
socket.on('new message', function (data) { //receive and broadcast the msg
socket.broadcast.to(socket.room).emit('new message', data);
});
});
客戶端
//initial client config
var socket = io(URL_SOCKET, {path: '/my/path'});
socket.emit('room', room_id);
socket.on('new message', function (data) {
do_something(data);
});
function on_change(data){
socket.emit('new message', data);
}
這裏的問題是:socket.broadcast.to
是broadcasti將客戶發送的信息(致電on_change
)發送給所有房間(給所有人)。我究竟做錯了什麼?
哈瓦看看https://github.com/socketio/socket.io/blob/master/docs/emit.md - 你可能想嘗試'socket.to(socket.room).emit'或' io.to(socket.room).emit' – mk12ok