连接上的NodeJS套接字无法正常工作

时间:2019-06-11 09:42:15

标签: node.js sockets socket.io

socket.emit()可以正常使用回调函数,但是socket.on()不能调用。

socket.on('connect', () => {      
    socket.emit(USER_STATUS_UPDATE, { user, status: 'online' }, console.log(`*********CALL`));

    socket.on(USER_STATUS_UPDATE, (userstatus) => {
          console.debug("USER_STATUS_UPDATE",userstatus);
    };
}

1 个答案:

答案 0 :(得分:0)

Socket.on在其他方发出套接字消息时触发,而不是在同一方发出套接字消息时触发。

服务器:

const io = require('socket.io')(80);

io.on('connection', function(socket){
  socket.emit('request', /* */); // emit an event to the socket
  io.emit('broadcast', /* */); // emit an event to all connected sockets
  socket.on('reply', function(){ /* */ }); // listen to the event
});

客户:

  const socket = io('http://localhost/');
  socket.on('connect', function () {

    socket.on('request', function (msg) {
      socket.emit('reply', 'hi'); 
    });

    socket.on('broadcast', function (msg) {
      console.log(msg); 
    });

  });
相关问题