我一直在寻找anwser,但是其中大多数我无法与我的代码完全连接,因此我希望获得帮助。
我想发送特定用户的消息,例如2个人之间的聊天。
例如,如果我选择约翰,我怎么能只给他寄信?我在这方面遇到了很多麻烦
app.js
io.on('connection', function (socket) {
socket.on('chat', function (data) {
console.log(data);
//Specific user
//socket.broadcast.to(socketid).emit('message', 'Hello');
});
});
我有一个mongodb数据库,那么如何指定具有选择用户的用户ID的套接字ID?
答案 0 :(得分:1)
以下代码可用于将消息发送到特定客户端。 需要注意的是,每个连接的客户端都有一个唯一的套接字ID。 将该ID存储在数组中。您可以呼叫具有该ID的任何用户。
var id=[];
io.on('connection', function (socket) {
socket.on('chat', function (data) {
console.log(data);
id.push(${socket.id});
});
});
//to send to specific user
io.to(socket#id).emit('hey!')
答案 1 :(得分:0)
您必须创建一个基于用户的数组。在这里,您可以获得一个特殊的套接字:
var users = [];
io.on('connection', function (socket) {
users.put(socket);
socket.on('chat', function (data) {
console.log(data);
users[0].emit('chat', data);
});
});
您可以使用基于数组或基于对象的变量(在此处可以将其与用户名一起存储,但是必须实现一个过程以在连接可用后设置用户名)。