将消息发送到唯一的套接字

Joh*_*son 9 chat node.js socket.io

我正在使用node.js和socket.io来创建聊天应用程序.如何将消息发送到另一个套接字,我只知道套接字的id或用户名.没有房间,客户一对一聊天.

geo*_*eak 26

使用Socket.IO,您不仅限于在连接函数的回调中使用套接字对象.您可以创建一个对象来存储特定用户名的套接字对象,并查找套接字以在客户端发出消息时向其发送消息.您需要在每条消息中传输预期目标.

例:

var sockets = {};

...

io.on('connection', function(socket){
    socket.on('set nickname', function (name) {
        sockets[name] = socket;
    });
    socket.on('send message', function (message, to) {
        sockets[to].emit(message);
    });
});
Run Code Online (Sandbox Code Playgroud)

Socket.IO网站示例页面上查看更多示例.