Я пытаюсь создать комнату с 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
события ..
Что я могу сделать, чтобы получать сообщения в комнате?
Спасибо!