javascript - 如何使用 Pusher pubnub socketio 将事件发送到单个客户端

标签 javascript ruby-on-rails node.js pusher pubnub

我正在构建一个多人回合制游戏,客户端和服务器之间的通信是通过Pusher建立的。 。我可以使用游戏 channel 向所有客户端发送事件。问题是如何将事件发送给单个客户端? Pusher 没有相关文档,唯一的解决方案似乎是使用 authenticated channels 。为每个客户端发送事件到单个客户端验证专用 channel 是否可行,或者是否有更好的解决方案?

最佳答案

您在答案中谈到了最佳解决方案。您应该能够非常轻松地以编程方式为每个用户设置 channel ,然后通过这些 channel 向他们广播消息。

例如(这是一个 Ruby 示例,但应该清楚发生了什么)

user = SOME_USER_OBJECT
Pusher.trigger("card-data-#{user.id}", 'card-update', {data: {card_id: 1, status: 'used'})

或者类似的东西。显然,您需要确保在客户端用户订阅了正确的 channel 。

显然,如果您需要安全通道,那么正如您所说,您可以使用经过身份验证的 channel - 在您的情况下,使用私有(private) channel 可能是有意义的。

如果您还有其他问题,可以再次在这里回复,我会看一下,或者您可以发送电子邮件至 support@pusher.com 支持人员.

关于javascript - 如何使用 Pusher pubnub socketio 将事件发送到单个客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25902616/

相关文章:

javascript - 语义 UI 自动完成响应未按顺序到达

ruby-on-rails - 获取最后 5 个唯一的 created_at 日期

node.js - 是否可以从 Meteor 构建基于 Node 的 headless 客户端?

javascript - 计算查询字符串中参数的数量

javascript变量到jQuery对象

ruby-on-rails - 有没有像 Controller sanitizer 之类的东西?

javascript - 为什么在尝试使用 header 发布请求时出现错误?

javascript - 在 Controller 中调用函数本身 sails js

javascript - mikeal的request与Node.js中http/https模块的对比

ruby-on-rails - Mac上的libv8(3.11.8.17)软件包安装错误