2012-03-28 40 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。