Mar*_*sov 6 javascript websocket node.js socket.io
我需要使用websockets(socket.io + node.js)构建twosome聊天.所以,向所有用户广播消息的简单示例:
socket.on('user message', function (msg) {
socket.broadcast.emit('user message', socket.nickname, msg);
});
Run Code Online (Sandbox Code Playgroud)
但是,如何将其从特定用户广播到特定用户?
fre*_*ish 18
有两种可能性:
1)每个套接字都有自己唯一的ID存储socket.id.如果您知道两个用户的ID,那么您可以简单地使用
io.sockets[id].emit(...)
Run Code Online (Sandbox Code Playgroud)
2)定义您自己的ID(例如用户名)并使用
socket.join('priv/John');
Run Code Online (Sandbox Code Playgroud)
在connection处理程序.现在,只要你想发送消息John,你就可以了
socket.broadcast.to('priv/John').emit(...)
Run Code Online (Sandbox Code Playgroud)
旁注:提供的第一个解决方案无法扩展到多台机器,所以我建议使用第二个.
| 归档时间: |
|
| 查看次数: |
6131 次 |
| 最近记录: |