我正在使用Openfire API和Java实现基于Web的聊天客户端。
事情设置和运行顺利,然而,我对存储聊天记录的位置感到困惑。
根据我的观察,基于桌面的客户端通常使用xml,txt等格式在客户端文件系统上存储聊天记录。
在服务器端,我有以下选项:
但我想知道在速度和性能方面哪些是上述选项中最好的(或任何其他可选的)。
感谢。
答案 0 :(得分:1)
如isnot2bad的评论中所述,您可以通过使用Openfire Monitoring Plugin添加服务器端消息存档。完成设置后,您可以尝试使用XEP-0126通过XMPP获取存档的1对1聊天消息。
不幸的是,在尝试使用XEP-0136中定义的节来从邮件中删除消息时,我只有麻烦。如果你浏览OF支持论坛,你会发现其他人也遇到了这个插件的问题。例如,插件不会以正确的顺序返回对话列表,它不会按照start属性指定的日期等过滤对话或消息列表。至少可以说,插件可以使用一些工作。作为一种解决方法,我已将插件留在原处,以便将消息插入数据库,但我已经编写了一个自定义AJAX解决方案来检索存档消息。我只是将它们直接从OF的数据库中取出,并将它们在JSON对象中返回给我的客户端javascript。