【问题标题】:PubNub unsubscribe isn't firing presence eventPubNub 取消订阅不会触发存在事件
【发布时间】:2014-05-30 07:40:35
【问题描述】:

我正在为 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 存在操作仍然订阅。我做错了什么?

【问题讨论】:

  • 嗨!您使用的是哪个 SDK?此外,您需要为此配置您的帐户,因此请通过 support@pubnub.com 告知我们,以便我们配置您的帐户!
  • 确保您使用的是最新的 SDK,或者如果您使用的是较旧的帐户/SDK 版本,我们可以为您设置一个特殊的配置模式。如果您需要我们帮助配置您的帐户,请务必直接与我们联系。

标签: javascript pubnub user-presence


【解决方案1】:

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

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

奇怪,但固定!

【讨论】:

  • 您好,这可能是您看到的与核心全局消息总线系统不同的 Web 会话错误。无论如何,您的消息将照常发送! :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-30
  • 1970-01-01
  • 2020-01-01
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多