从房间socket.io接收发射

时间:2017-03-23 11:14:10

标签: node.js socket.io

我正在尝试通过房间发送数据。当我登录时,我将套接字连接到一个名为变量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

0 个答案:

没有答案