尝试使用socket.io创建多房间。在客户端(Jade):
script(type='text/javascript').
var socket = io();
function test(){
socket.emit('join', '#{user._id}');
socket.in('#{user._id}').emit('chat message', 'test sent');
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));
});
}
在服务器端:
io.on('connection', function (socket) {
socket.on('chat message', function (msg) {
io.emit('chat message', msg);
});
socket.on('join', function (_id) {
socket.join(_id);
console.log('Joined room: ' + _id);
});
socket.on('loc', function (position) {
console.log('pos: ' + position);
});
});
当脚本在浏览器中运行时,它会导致&#39; socket.in不是函数&#39;。
答案 0 :(得分:0)
对于我来说,socket.io文档中并不清楚,但是,很快:
客户端仅使用socket.emit('new message', 'to room name', 'I am new message')
发送。房间之间的所有路由都在服务器上进行,如下所示:io.on('new message', function(room, data) { io.sockets.in(room).emit('new msg to client', data)...
Thanx到文章here