我对套接字 io 很困惑,我应该如何发送私有(private)消息
方法一
socket.emit(`privateMessage:${req.user._id}`, 'someones Private message to User')
并且在客户端中我收到此带有用户 ID 的消息
方法二
socket.to(socketID).emit(`privateMessage`, 'someones Private message to User')
我不知道哪种标准方法可以做到这一点,而且我也在使用 redis pub sub。我很困惑如何将这些与标准架构结合起来
最佳答案
如果您有目标用户的 socket
对象,那么要仅向该用户发送消息,您应该使用:
socket.emit(...)
如果您没有目标用户的socket
对象,但有该用户的socketID,那么您可以使用:
io.to(socketID).emit(...)
确实没有理由使用 socket.to(socketID)
,其中 socketID 是 socket
的 id,因为您已经拥有 socket
对象对于目标用户来说,socket.emit()
更直接,而且可能稍微快一些。
关于node.js - 如何使用socket io发送私有(private)消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46691313/