Создать чат с помощью socket.io в ionic3 и angular4 - PullRequest
0 голосов
/ 05 июня 2018

Я занимаюсь разработкой приложения чата с помощью 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});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...