2012-07-23 33 views
2

日冰那裏,Ejabberd消息Acknowledment從服務器

我已經安裝和實施ejabberd服務器和我的小的移動應用程序聊天。已經爲消息傳遞狀態實施了XEP-184。

但我有一個問題,我的應用程序如何知道我的消息是否確實已經到達ejabberd服務器?

我的情況:我正在走進一個弱連接信號區域,信號幾乎不足以保持連接活着,但頻繁超時。我試圖發送一條消息,如何才能確認消息是否到達服務器?

希望我對我的問題已經夠清楚了。提前致謝!

+0

嗨,你有沒有找到解決這個問題..我會很高興知道是否有任何...謝謝! – securecurve 2013-11-02 11:49:28

回答

1

我寫了一個ejabberd國防部爲此,你可以找到在:

https://github.com/kmtsar/ejabberd-mods

+0

我打算嘗試一下mod,如果遇到應用mod的任何問題,我是否可以向您發送消息?不管怎麼說,還是要謝謝你。 – 2014-10-04 08:36:51

+0

是的,當然,雖然我不再工作了,但已經看到Github上的其他人幫忙了。 – 2014-10-06 13:39:33

0

一種可能的方法是實施XEP-0198 Stream Management。流管理是最新ejabberd版本的標準功能。

有了這個功能,客戶可以要求服務器對收到的節數進行計數,當有興趣的時候請求服務器確認收到的節數。

然後客戶可以知道是否收到一個或多個節。

這可以爲每個單節完成:客戶端需要對最後發送的節進行確認,並期望從服務器收到ACK。

從理論上講,您可以只實施「基本確認方案」 - 不需要完整的XEP(包括流恢復)。