2

我正在为 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收到存在操作。我究竟做错了什么?

4

1 回答 1

1

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

当我重新生成可以订阅的密钥时,加入和离开事件也按预期工作。我现在也得到了我期望从这里得到的回应。

奇怪,但固定!

于 2014-05-30T09:11:27.647 回答