我使用PubNub,Phonegap,Backbone.js和Require.js来构建两个风格的聊天室。目前我正在使用chrome进行桌面测试。
我有一个Chat.js视图,在initialize()函数中,我订阅了以下频道:
that.pubnub.subscribe({
channel: chatChannel,
message: that.handleSingleMessage,
});
这很好用,我可以通过Chrome检查器看到发送了ajax请求。在应用程序的顶部有一个“后退”按钮。在这里,我打电话取消订阅取消订阅用户:
that.pubnub.unsubscribe({
channel: chatChannel
});
但是,我仍然看到Chrome检查员仍然发送了对PubNub的ajax请求,即使用户应该取消订阅并且位于应用的其他部分。 2个ajax请求被重复发送。他们看起来像:
http://ps13.pubnub.com/time/0?uuid=tomsmith&auth=&pnsdk=PubNub%2DTS%2DWeb%2F3%2Y5%2E1
和
http://ps11.pubnub.com/time/0?uuid=4ea9bd1c%2D7652%2D410c%2Da2ba%2D17c5d263085d&auth=&pnsdk=PubNub%2DTS%2DWeb%2F3%2Y5%2E1
知道发生了什么事吗?
答案 0 :(得分:0)
取消订阅后,请确保您没有重新订阅同一频道。如果PubNub失去连接,它会自动尝试重新连接到某个频道。您可以在此处查看我如何切换和取消订阅频道:http://plnkr.co/edit/7JyS4H
答案 1 :(得分:0)
http://ps13.pubnub.com/time/0?uuid=tomsmith&auth=&pnsdk=PubNub%2DTS%2DWeb%2F3%2Y5%2E1
只是'时间'电话。它们用于监视客户端的在线/离线状态,并不意味着您仍在订阅。把它们想象成“PubNub Pings”
如果你仍然看到一个带有'subscribe'的网址,那么这意味着你仍然订阅了,例如:
http://ps2.pubnub.com/subscribe/demo/demoapp1%2Cdemoapp1-pnpres/0/13825545216910725?uuid=2f62d1c1-69c8-423c-9492-74e29f46a877&pnsdk=PubNub-JS-Web%2F3.5.47
但是看起来就像你的例子一样,它只是在你没有subbed之后执行心跳逻辑。
geremy