向节点.js和 socket.io 中的单个套接字发送消息

Sending a message to single socket in node.js and socket.io

本文关键字:套接字 单个 消息 js 节点 socket io      更新时间:2023-09-26
如何使用

socket.io 将消息发送到单个套接字。

我在想这样的事情,但它不起作用。

io.sockets.socket(socket.id).emit('messagetype', "message")

我收到此错误:

TypeError: Property 'connected' of object #<Namespace> is not a function

我想我只是语法有问题,但找不到有关它的来源。

在你的

代码中,你可以使用其他人的套接字,但(socket.id)将始终返回你自己的套接字ID,所以你必须将其他人的套接字ID保存在你的数据库或任何数组中,然后你可以向他们发送任何消息:

   io.sockets.socket(socket_array['socketid']).emit('','');

这里socket_array是一个数组,你必须保存其他人的套接字ID,而'socketid'是识别socketid的键;你可以使用别人的用户名代替'socketid',那么它将是一个唯一的ID。

基本上这就是你需要的。

io.on('connection', function(socket){
  socket.emit('messagetype', "message");
});

它在socketio-docs中有很好的记录