(function(){
var p = PUBNUB.init({
'subscribe_key':'foo',
'publish_key':'bar'
})
var do_leave = function(message,env,channel){
//leave code here
};
var do_join = function(message,env,channel){
//join code here
};
var do_timeout = function(message,env,channel){
//timeout code here
};
p.subscribe({
channel : "hello_world", // CONNECT TO THIS CHANNEL.
message : function(message, env, channel) {}, // RECEIVED A MESSAGE.
presence : function(message, env, channel) {
if(message.action === 'leave'){ // handle leave
do_leave.apply(this,arguments);
}
else if (message.action === 'join'){ // handle join
do_join.apply(this,arguments);
}
else{//timeout
do_timeout.apply(this,arguments);
}
}
});
// to get the current state use the here_now request
p.here_now({
channel : 'hello_world',
callback : function (message) { console.log(message) }
});
})();
完全披露我是PubNub員工。你的問題是'做數千可擴展'?我們每個頻道的成績都超過了數千人,所以我現在不會爲此擔心。
價格如何?每個上線的人都會發送狀態(所以有一條消息傳送給數千個用戶。)我的配額只會通過發送狀態數據而結束。 – user1128896
約旦,here_now將返回成千上萬的uuid,當您需要的只有少數uuid時,它可能不是最優的 – davidkomer
Rakan,存在請求不計入定價。如果您有特殊使用案例,請聯繫我們。 大衛,這是一個很好的觀點。如果你想開始對用戶進行子集化,你可以通過子渠道或應用程序邏輯來完成。因此,您將擁有一個全局加入/讓您只能在子渠道中運行here_now,以防止返回大型數據集。 –