我正在使用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
在线状态处理其他仍在订阅的客户。我做错了什么?
答案 0 :(得分:1)
奇怪的是,当我今天早上尝试订阅时,我收到400无效错误。当我调查时,PubNub管理员屏幕告诉我没有与我的项目相关的密钥。
当我重新生成我可以订阅的密钥时 - 加入和离开事件也按预期工作。我现在得到了我期待的响应 - 现在也是如此。
奇怪,但已修复!