I want to sent a private message to a specific user. I tried with
io.to(socketid)..
I tested with two different browser but the user at the second browser didn't get the message. What is wrong with my code?
message.component.html
sendMessage(message) {
this.socket.emit('add-message', {
message: message,
_id: this.userId
});
}
getMessages() {
`enter code here`
let observable = new Observable(observer => {
this.socket.on('message', (data) => {
console.log(data)
observer.next(data);
});
return () => {
this.socket.disconnect();
};
})
return observable;
}
www.ts(server side)
let io = require('socket.io').listen(server);
var clients = {};
io.on('connection', (socket) => {
console.log('##############################################');
console.log('user connected');
console.log('##############################################');
socket.on('add-message', (data) => {
clients[data._receiver] = socket.id;
console.log('##############################################');
console.log(clients)
console.log('##############################################');
socket.to(socket.id).emit("message", {
type: 'new-message',
text: data.message
});
});
socket.on('disconnect', function() {
console.log('user disconnected');
});
});
via Tony
No comments:
Post a Comment