Не удается получить сообщение в комнате Socket.io с Angular - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь создать комнату с socket.io для чата на моем веб-сайте.

К сожалению, даже если сообщения отправлены правильно, и оба пользователя присоединились к одной комнате, сообщения не принимаются..

Вот мой код:

chat.component.ts:

// both users joining the same room with their matchId
// __________________________________________________________________

joinRoom(matchId) {
  try {
    this.socket = io.connect('http://localhost:3000');
    this.socket.emit('join room', matchId.toString());
  } catch (e) {
   console.log('Could not connect socket.io');
  }
}


// emiting the message object
// __________________________________________________________________

this.socket.emit('send message', obj);


// receiving the message object and pushing it to the messageList
// __________________________________________________________________

receive = (obj) => {
  if (obj) {
    this.messageList.push(obj);
  }
}

ngOnInit() {
  try {
    this.socket.on('receive message', this.receive);
  } catch (e) {
    console.log('Could not connect socket.io');
  }
}

backend:

io.sockets.on('connection', function(socket) {
  var roomId;
  socket.on('join room', function(room) {
    socket.join(room);
    console.log('a user connected to room', room);
    roomId = room;
  });
  socket.on('send message', (obj) => {
    socket.broadcast.to(roomId).emit('receive message', obj);
  });
});

Я получаю обаjoin room и send message события ..

Что я могу сделать, чтобы получать сообщения в комнате?

Спасибо!

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