Разъем NodeJS при подключении не работает - PullRequest
0 голосов
/ 11 июня 2019

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 голосов
/ 11 июня 2019

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); 
    });

  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...