【发布时间】:2017-09-16 08:19:35
【问题描述】:
所以,我的 socket.join 调用什么也没做。调用socket.join,然后列出socket所在的房间后,socket只连接到由它的id定义的房间(它自己的房间)。
function onJoin(room) {
console.log("Joining room: " + room);
socket.join(room);
console.log(socket.id + " now in rooms ", socket.rooms);
}
例如会打印:
> Joining room: 5aba92759b9ffa9fdf579714d6aa125ddb05cb1172611331775e7a69dab37258
> Q6D4h17DvdOZrbrEAAAC now in rooms { Q6D4h17DvdOZrbrEAAAC: 'Q6D4h17DvdOZrbrEAAAC' }
如果有什么不同,下面是我的套接字服务器的创建方式:
//app.js
var app = express();
var http = require('http');
var server = http.Server(app);
var io = require('socket.io')(server);
var chat = require('./routes/chat/chat')(io);
//chat.js
module.exports = function(io) {
io.sockets.on('connection', function(socket) {
socket.on('join', onJoin);
...
}
问题出在哪里?
- Socket.io v1.7.3
【问题讨论】:
标签: javascript node.js socket.io