当前位置: 首页 > 知识库问答 >
问题:

Socket.io:无法使用socket.id向特定套接字发送消息

贝洲
2023-03-14

我正在存放插座。每个用户使用redis登录时的id

redisClient.set(user._id + ':socket', socket.id)

当这个用户的任何帖子。_id被创建时,我试图使用上面存储的socket.id向那个特定用户的套接字发出一个事件

var mySocket=redisClient.get(user._id + ':socket')

socket.broadcast.to(mySocket).emit('my message', msg);

问题是我无法使用上述代码向该特定套接字发出。我正在使用套接字。io版本

共有1个答案

章青青
2023-03-14

试一试;

  io.to(socket.id).emit("event", data);

它应该能帮你。。!!

 类似资料:
  • 我有一个关于如何改进这个代码的问题。我是Socket.io的新手,我一直在YouTube上看一个关于私人信息的视频教程。我只是想知道有没有更好的方法来改进下面的代码行? 但似乎不起作用。

  • 我的服务器代码使用将消息发送到特定的套接字,请参阅https://socket.io/docs/emit-cheatsheet/ 但是,当连接坏了,客户机断开并再次连接时,socketId会发生变化,并且会失败。那么如何实现re-emit方法来处理重新连接呢? 我的问题与此相反,socket.io在x秒/第一次尝试获得响应失败后停止重新发出事件,从中我了解到socket.io客户端在重新连接时可以

  • 问题内容: 我从socket.io + node.js开始,我知道如何在本地发送消息和广播功能:-所有连接的客户端都收到相同的消息。 现在,我想知道如何向特定的客户端发送私人消息,我的意思是一个套接字,用于2个人之间的私人聊天(客户端到客户端流)。谢谢。 问题答案: 当用户连接时,它应使用唯一的用户名(例如电子邮件)向服务器发送消息。 一对用户名和套接字应存储在这样的对象中: 在客户端上,使用以下

  • 我从插座开始。io节点。js,我知道如何在本地发送消息和广播函数:-所有连接的客户端都接收相同的消息。 现在,我想知道如何向特定客户端发送私人消息,我的意思是两个人之间的私人聊天(客户端到客户端流)的一个套接字。谢谢。

  • 问题内容: 我只能在用户的套接字ID直接存储在io.sockets.on(’connect’)函数中时向用户发出消息。我不知道为什么在登录后尝试存储其套接字ID时为什么不起作用。 加工: 无法运作: JavaScript客户端代码段 解决方案:感谢@alessioalex, 我不得不从登录页面中删除对socket.io的引用,并将以下内容添加到io.sockets.on(’connection’)

  • 问题内容: 我编写了用于向 所有 用户广播消息的代码: 请注意: 我没有任何用户参考,只有一个连接。 所有用户连接均存储在中。 目标 :假设Node.js服务器希望将消息发送到特定客户端(约翰)。NodeJs服务器如何知道John拥有哪个连接?Node.js服务器甚至都不认识John。它所看到的只是连接。 因此,我相信现在,我不应该仅通过用户连接来存储用户,而是需要存储一个对象,其中将包含和对象。