我遇到socket.io问题。 我尝试创建一个单个套接字连接,它连接到多个房间。
这是我目前的代码:
function JoinRoom(id){
socket = io(domain);
socket.on('connect', function (data) {
console.log('Connected to ' + room);
socket.emit('room', room);
});
socket.on('message', function (data) {
console.log(data);
});
}
问题是如果我删除var socket.io(域)功能未连接且不从房间接收数据。
示例:
socket = io(domain);
function JoinRoom(id){
socket.on('connect', function (data) {
console.log('Connected to ' + room);
socket.emit('room', room);
});
socket.on('message', function (data) {
console.log(data);
});
}
如果我使用JoinRoom()函数的socket.io()函数,我不会收到消息消息或任何东西。这是行不通的。 我究竟做错了什么?任何解决方案?
答案 0 :(得分:1)
在客户端上,创建一个事件以指示访问空间。
在服务器上,应用访问逻辑。
var socket = io('http://localhost');
function JoinRoom(data){
socket.emit("join", data);
}
var data = {
room:'ejemplo'
};
JoinRoom(data);
var io = require('socket.io')(app);
io.on('connection', function(socket){
socket.on('join', function(data){
console.log(data); // data = { room: String, ...}
socket.join(data.room);
});
socket.on('leave', function(data){
socket.leave(data.room);
});