2012-11-30 41 views
0

我有一個名冊機制的問題,我使用JSJaC JavaScript庫。XMPP名冊存在

我的情況:

用戶A有一個簡單的名單,其中包含另一用戶B與訂閱「兩種」。用戶B具有相同的配置。

當用戶A登錄到openfire時,我打電話給我的「getRoster()」函數返回用戶的朋友列表(在我的情況下,只有用戶B),但我如何檢查用戶B是否當前可用於聊天?

我看到有一些存在機制,但我不明白我如何使用這些機制。

對不起,我英文很差。謝謝。

回答

0

當您將自己的狀態發送到服務器時,服務器開始向您發送所有訂閱聯繫人的狀態。您必須將所有聯繫人視爲默認離線。

我不熟悉JSJaC,但可能存在這樣的情況存在是在一個回調。

0

你應該註冊一個presence處理。假設你有用戶數據陣列,你可以這樣做:

xmpp.registerHandler 'presence', (response) -> 
    user = _.find @roster, jid: (response.getFrom().split '/').shift() 
    if user 
    if response.getType() is 'unavailable' 
     user.online = no 
    else 
     user.online = yes