我正在尝试通过房间发送数据。当我登录时,我将套接字连接到一个名为变量username
的房间io.on('connection', function (socket) {
var addedUser = false;
socket.on('login', function (data) {
if (addedUser) return;
// we store the username in the socket session for this client
socket.username = data.username;
addedUser = true;
socket.join(result.username, function (err) {
if (err) {
console.log(err);
} else {
console.log("Success joined room " + data.username);
}
});
message = {
success: true,
message: "Successfully logged in",
data: result,
socket_id: socket.id
};
//Emit Value
socket.emit('login result', message);
}
});
我得到了日志Success joined room fadel
然后我使用像这样的
从我的客户端发送数据socket.on('request', function (data) {
console.log(data);
io.sockets.in(data.username).emit('price', {
username: data.username,
price: data.price
});
我得到了日志{ id: 'fadel', price: '123' }
然后我尝试使用此
进行广播socket.on('price', function(data){
console.log(data);
});
我似乎无法获得任何数据。但是当我尝试这种正常发射(没有空间)时,我可以得到数据
io.emit('price', {
price: data.price
});
如何从客户端的房间收到广播?我需要除socket.on('price', function(data){});
以外的任何其他内容吗?
我正在使用socket.io v 1.7.3