PubNub取消订阅并不会触发存在事件

时间:2014-05-30 07:40:35

标签: javascript pubnub user-presence

我正在使用PubNub的最新JavaScript API,并在管理界面中启用状态。我在一个频道上运行两个客户端,初始化和订阅如下:

pubnub = PUBNUB.init({
                publish_key   : 'xxx',
                subscribe_key : 'xxx',
                origin        : 'pubsub.pubnub.com',
                cipher_key    : 'xxx',
                ssl           : 'true',
                uuid          : uuid
            });

pubnub.subscribe({
                channel : CHANNEL,
                callback : function (message) {
                    $("#box").val($("#box").val() + message + "\r\n");
                },
                connect:    function () { console.log("Connected"); users(); },
                disconnect: function () { console.log("Disconnected"); },
                reconnect:  function () { console.log("Reconnected"); },
                error:      function () { console.log("Network Error"); },
                presence:   function (m) { console.log("Presence: " + m); }
            });

我取消订阅此频道:

function unsubscribe() {
    pubnub.unsubscribe({
        channel:    CHANNEL
    });
    console.log("Unsubscribed");
};

当客户加入频道时,我会在订阅的所有客户端中看到join状态操作。当客户端超时时,我也会看到这些操作。

当我拨打unsubscribe()时,会打印日志行,并且该客户端不会再收到在该频道上发布的任何消息,但没有leave在线状态处理其他仍在订阅的客户。我做错了什么?

1 个答案:

答案 0 :(得分:1)

奇怪的是,当我今天早上尝试订阅时,我收到400无效错误。当我调查时,PubNub管理员屏幕告诉我没有与我的项目相关的密钥。

当我重新生成我可以订阅的密钥时 - 加入和离开事件也按预期工作。我现在得到了我期待的响应 - 现在也是如此。

奇怪,但已修复!