Это код сервера, который я пишу, используя узел js и сокет io.Здесь я создаю комнату и транслирую сообщение всем пользователям, кроме отправителя в конкретной комнате.
server.js
var io = require('socket.io');
var server = http.createServer().listen(8081);
var socket = io.listen(server);
var roomno = 1;
socket.on('connection', function(client){
client.on('join', function(data) {
client.join(data.room); //join in socket room
console.log(data.user + ' joined in room '+ data.room);
client.broadcast.to(data.room).emit('new_user_joined',{user :
data.user,message :'jas join this room'});
});
});
chat.service.ts
export class ChatService {
constructor(private socket: Socket) { }
joinRoom(data){
this.socket.emit('join', data);
}
newUserJoined() {
return this.socket.fromEvent('new_user_joined').pipe(map(data =>
data));
}
}
app.component.ts
join(){
this.service.joinRoom({user : this.name,room : 'hall'});
this.service.newUserJoined().subscribe(
result => {
this.respObj=result;
}
);
}
В приведенном выше коде я транслирую сообщение в определенную комнату в сокете и пытаюсь получить это сообщение от angular.Но я не получаю это сообщение от app.component.ts