Socket.IO 将数据发送到房间给自己
Socket.IO emit data into a room to myself
我正在构建一个聊天应用程序,我想在其中加载 2 个用户之间的最后一条消息。
这是我在前端所做的,因此从数据库加载旧的消息列表:
socket.emit('get messageList', data);
在后端,我将消息加载到messages
中并尝试将它们发回。我不想broadcast.emit
,因为我想在我的会话中加载数据,而不是在聊天伙伴中加载数据。
socket.in(roomId).emit('send messageList', messages);
当我执行此代码时,聊天伙伴的消息列表会刷新。基本上它的效果与
socket.in(roomId).broadcast.emit('send messageList', messages);
在我实施房间之前,正常
socket.emit('send messageList', messages);
会像我预期的那样更新我的列表。但是由于我将代码用于房间,因此它不再起作用。
我的问题:
- 为什么?
- 是否可以使用 socket.io 将数据从后端发送回客户端?
- 还是我做错了什么?
socket.nsp.to(room).emit('room_message','hello world')
我会把我的评论变成一个答案,因为这似乎对你有用。
如果您只是尝试响应向您发送请求的客户端,则只需socket.emit()
回请求套接字。您只是尝试回复发件人,因此您不会仅仅因为使用了聊天室而做任何不同的事情。响应将转到请求它的套接字,而不考虑聊天室使用情况。
要发送到单个客户端,您只需发送到该客户端的套接字。 仅当您要发送到该聊天室中的所有客户端或聊天室中的所有客户端(一个客户端除外)时,才使用聊天室来帮助发送。
相关文章:
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 按我自己的类克隆另一个元素的内容和顺序
- 如何配置分析以将数据发送到我自己的服务器
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 创造自己的智能
- 让自己在文章中成为社交明星's内容高度
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- 从自己的安全系统中重新找回自己
- 麻烦将coffee脚本片段移动到rails中自己的类中
- 试图创建一个24小时计时器来重置自己
- 从我自己的脚本中包含的Javascript文件中调用一个函数
- 让我自己的过滤器不工作
- 消隐数组元素是否生成自己的属性
- JavaScript子对象访问自己的值
- Selenium异步脚本在自己的线程中阻塞其他脚本
- 为什么对象的函数值没有自己的作用域
- Socket.io房间不工作/没有意义
- 我怎样才能给数组中的每个对象赋予它们自己的键
- Socket.IO 将数据发送到房间给自己