无法取消订阅PubNub

时间:2013-10-23 16:56:37

标签: pubnub

我使用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

知道发生了什么事吗?

2 个答案:

答案 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