我使用strophe.js JavaScript客戶端庫,用於連接到使用下面的代碼XMPP服務器(的Openfire)。在線和離線用戶使用strophe.js實時
var BOSH_SERVICE = 'http://127.0.0.1:7070/http-bind/';
connection = new Strophe.Connection(BOSH_SERVICE);
connection.connect("jid",
"password",
onConnect);
和回調函數(爲onConnect)如下:
function onConnect(status)
{
if (status == Strophe.Status.CONNECTING) {
log('Strophe is connecting.');
} else if (status == Strophe.Status.CONNFAIL) {
log('Strophe failed to connect.');
$('#connect').get(0).value = 'connect';
} else if (status == Strophe.Status.DISCONNECTING) {
log('Strophe is disconnecting.');
} else if (status == Strophe.Status.DISCONNECTED) {
log('Strophe is disconnected.');
$('#connect').get(0).value = 'connect';
} else if (status == Strophe.Status.CONNECTED) {
log('Strophe is connected.');
log('ECHOBOT: Send a message to ' + connection.jid +
' to talk to me.');
connection.addHandler(onMessage, null, 'message', null, null, null);
connection.send($pres().tree());
console.log($pres().tree());
}
}
我使用這個代碼和沒有問題,直到這成功連接到服務器。
問題:在實時狀態更新用戶列表。
讓我解釋一下我的問題:
我想顯示在線和離線用戶提供實時更新的列表(類似於顯示聊天應用的東西。)
前。假設有3個用戶A,B和C,並且都在線(已登錄)
現在假設用戶A斷開連接或脫機,那麼用戶B,C如何獲得用戶A的狀態通知?並在用戶B和C列表中將用戶A的狀態更改爲脫機而不刷新。
是存在strophe.js任何方法,它會自動調用時,有一個人得到連接或DIS-連接。或者我需要寫我自己的?
我不能肯定,但也有一些是有名冊。
感謝您的答覆。我只需添加訂閱插件即可開啓並設置自動訂閱者。現在它的工作正常...你的答案也是我想知道的。謝謝哥們。 –
是否有可能使用strophe.js或其他任何使用openfire的lib創建視頻聊天? –
我只能建議你檢查的WebRTC功能,允許網頁瀏覽器做實時音頻/同行之間的視頻通信 – beaver