Node.js 从房间插座接收发射。io

Node.js 从房间插座接收发射。io,node.js,socket.io,Node.js,Socket.io,我正试图通过一个房间发送数据。当我登录时,我将套接字连接到一个名为variable 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 thi

我正试图通过一个房间发送数据。当我登录时,我将套接字连接到一个名为variable 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);
   }
});
我得到日志
成功加入房间fadel

然后我从我的客户机发送数据,像这样使用emit

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
});
如何从客户端的房间获得广播?除了('price',function(data){}),我还需要什么吗


我正在使用socket.iov1.7.3

socket.on('price',函数(数据){});应该在io.on('connection function',function(data){})的内部;但是它在我的客户端js上,在html.socket.on('price',function(data){})上;应该在io.on('connection function',function(data){})的内部;但是它在我的客户端js上,在html上。