2011-11-18 25 views
2

我正在使用sleekxmpp連接到Google Talk。我正在嘗試使用changed_status事件來跟蹤聯繫人何時更改其狀態。我遇到的問題是,當我記錄狀態更改時,與changed_status事件相關的功能似乎被稱爲多次。爲什麼會這樣呢?sleekxmpp changed_status事件,多次觸發

我認爲這與聯繫人登錄Google Talk的方式有關,也就是說他們可能會從同一臺計算機多次打開該聯繫人。因此,當他們關閉計算機時,它會影響兩個會話,並且每個會話都會觸發changed_status事件。

回答

5

的答案是,你暴露在SleekXMPP一個錯誤,我需要修復:)

的changed_status事件被燒成節收到的存在,而當資源的狀態或示值不僅改變射擊。

錯誤修正現在在開發分支,它將在即將成爲RC3版本。

0

檢查與每個更改關聯的資源。如果同一用戶的資源都不同,那是因爲用戶從多個不同的客戶端登錄,可能來自多個不同的機器。如果您訂閱了它們,您將從所有用戶的客戶端獲得狀態更新。

+0

我每次都記錄完整的jid,它告訴我相關的資源(/android.2G29rG或其他),在某些情況下,它們看起來也是一樣的。 – Jordan