如何在socket.io中向特定用户发送消息?
Posted
技术标签:
【中文标题】如何在socket.io中向特定用户发送消息?【英文标题】:How to send message to specific user in socket.io? 【发布时间】:2017-09-27 13:29:25 【问题描述】:我正在 Socket.io 和节点中创建一个聊天应用程序我是新来的我有一些关于聊天应用程序的查询,我们如何维护用户列表以及如何从用户列表中向特定人员发送消息?
【问题讨论】:
Send message to specific client with socket.io and node.js的可能重复 我没有找到任何合适的答案,所以我问你能帮我吗? Then check the cheat sheet. 不确定您认为什么是合适的答案。 我检查过了,但我怎样才能获得用户 socket.id ? 你真的应该在开始开发之前阅读文档。 【参考方案1】:像这样(在服务器端)Cheatsheet:
// sending to individual socketid (private message)
socket.to(<socketid>).emit('hey', 'I just met you');
<>
聊天符可以省略,只要确保将 socketid
替换为套接字 ID 的真实值即可。这将仅向指定的套接字 id 发送消息。我知道这行得通,因为我使用它。
【讨论】:
感谢您的帮助,但我如何获取套接字 ID,因为当用户刷新页面时,套接字 ID 将被更改 如果用户刷新页面,则套接字连接断开,当他们再次连接时,他们会得到一个新的套接字 ID。如果您正在处理表单,您要么需要防止页面刷新,要么在后端使用某种唯一标识符来存储用户再次重新连接时的信息。如果这是一个聊天应用,我推荐 AJAX。以上是关于如何在socket.io中向特定用户发送消息?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用nodejs socket.io向特定房间中的用户发送打字警报和消息
如何使用 socket io 和 node express 发送个人消息