Я занимаюсь разработкой приложения чата с помощью socket.io.Проблема заключается в том, что при создании комнаты в нее добавляется идентификатор сокета, а затем в комнату отправляется MSG.Первый MSG отправляется в комнату отлично, но второй MSG не отправляется в комнату.Второй MSG показан на стороне сервера.
Код на стороне сервера
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket) {
console.log('A user connected');
socket.on('subscribe', function(room) {
var romSocketId = room.sid;
socket.to(romSocketId).join(room.roomName);
// roome = room;
console.log('user joined room ' + room);
});
socket.on('chatmessage',function(data1){
console.log(data1.msg);
console.log(data1.room);
socket.broadcast.to(data1.room).emit('msgFromSever', {message: data1.msg});
});
socket.on("msgToClient", function(data) {
var sidd = data.sid;
console.log(sidd);
// sending to individual socketid (private message)
socket.to(sidd).emit('msgFromSever', {message: data.msg, socket_id: socket.id, adminID: data.adminLoginId});
})
socket.on('disconnect', function () {
console.log('A user disconnected');
});
});
http.listen(3000, function() {
console.log('Serve Start');
});
Код на стороне клиента для присоединения к комнате
this.socket.emit('subscribe', {roomName:'room' +this.joinRoomNummber, sid : socketid});
На стороне клиентакод для отправки сообщения
this.socket.emit('chatmessage', {msg: this.input.msg, room: this.randomId});