【发布时间】:2014-11-04 05:23:29
【问题描述】:
我们有多种 pubnub 客户端:javascript、ruby、actionscript
知道客户是否/何时离开频道很重要;即使浏览器或桌面应用程序(Native Air 应用程序)崩溃。我正在更新 ActionScript 库以支持在线状态,因此我借鉴了 JavaScript 和 Ruby 实现,当一切运行良好时,我的在线状态工作正常,但 heartbeat 似乎无法检测在我的版本中崩溃的客户端。
所以,我在 Ruby 中使用 irb(gem 版本 3.6.7)尝试了以下操作:
require 'pubnub'
pn = Pubnub.new(:subscribe_key => 'my_sub_key', :uuid => 'my_uuid', :heartbeat => 30)
pn.subscribe(:channel => 'my_channel') { |d| d.msg }
然后我将 subscribe_key 和频道输入到 Pubnub 控制台。正如预期的那样,我的订阅在那里。
我退出 irb 并等待。我预计会在 30 秒左右看到存在超时,但需要等待整整 6 分钟才能收到超时。
另请注意: Javascript 客户端似乎确实可以工作。
我是否需要打开“存在”之外的其他东西才能使其按预期工作,还是我误解了心跳的作用?
【问题讨论】:
标签: pubnub