[英]sending to individual socketid (private message) doesnt work in socketIO
我試圖建立一個小型聊天應用程序,在其中我可以發送私人消息(不向所有人廣播)。 到選定的套接字ID。 我瀏覽了SockeIO的文檔,並找到了可行的解決方案。 該應用程序運行良好,因為我使用廣播事件對其進行了測試,所有連接的套接字都收到了發出的消息。 如何實現個人短信?
這是我嘗試過的代碼。
socket.to(sockets[data.receiver]).emit('receive',data.message);
我在哪里使用過socket.to()。emit('嘿','我剛遇到你'); socketio docs和sockets [data.receiver]中給出的示例給出了要發送消息的人的socket.id。
考慮如下內容:
class Connection {
constructor(name, socket) {
this.name = name;
this.socket = socket;
}
}
let connections = [];
socket.on('connection', (socket) => {
// Get a name for the user/connection
// ...
// let name = getUsername(socket);
connections.push(new Connection(name, socket));
});
let sendToName = (name, message) => {
for(let i = 0, len = connections.length; i < len; i++) {
if(connections[i].name === name) {
connections[i].socket.emit('message', message);
break;
}
}
};
當然,您可以使用名稱以外的其他方式...但是您知道了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.