2012-03-28 52 views
6

我在使用iOS客戶端(和XMPPFramework)基於ejabberd構建聊天系統。ejabberd:從mysql中檢索聊天記錄db

我目前的聊天系統只支持用戶之間保存聊天記錄在MySQL數據庫上的一對一對話。

爲了重新創建相同的聊天系統,我需要ejabberd從我的數據庫中檢索聊天記錄,以便用戶在切換到新的聊天系統時不會丟失以前的聊天記錄。

我不想保存客戶端的對話,因爲iOS應用程序可以被刪除並重新安裝(或者用戶可以切換設備)。

是否有可能從我的MySQL數據庫使ejabberd讀取聊天記錄?

回答

3

這個問題有點老,但如果有人仍然感興趣。

這可以通過消息歸檔管理(http://xmpp.org/extensions/xep-0313.html)來實現。

這個XEP的最完整的實現是在MongooseIM(ejabberd的fork)中。 https://github.com/esl/MongooseIM/blob/master/apps/ejabberd/src/mod_mam.erl

ProcessOne頁聲稱有用於存檔此頁面上的支持:http://www.process-one.net/en/ejabberd/#getejabberd,但這個頁面上沒有提到:http://www.process-one.net/en/ejabberd/protocols/。看起來他們正在使用他們的自定義規範。

請注意,由於模塊調用的函數參數的細微差異,您將無法直接在processone ejabberd中使用MongooseIM中的mod_mam。