2

管理インターフェイスでプレゼンスをオンにして、PubNub 用の最新の JavaScript API を使用しています。チャネルで 2 つのクライアントを実行しており、次のように初期化およびサブスクライブしています。

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 に答える