【问题标题】:Smack API - Read Chat History from Openfire ServerSmack API - 从 Openfire 服务器读取聊天记录
【发布时间】:2011-10-01 21:04:41
【问题描述】:

如何使用 Smack 库从 Openfire 服务器获取聊天记录或聊天记录到 Android 应用程序中?

【问题讨论】:

  • 你找到答案了吗?我也有同样的问题。我的 XMPP 服务器支持存储消息,但我找不到 smack clinet android API 来检索这些消息....

标签: android xmpp openfire smack


【解决方案1】:

Openfire 服务器肯定可以保存聊天记录。要打开它,您应该转到服务器/服务器设置/消息审核策略并选择启用消息审核。如您所见,消息将以某种 XML 格式保存在 /.../openfire/logs 文件夹下。您可以解析此 XML 并非常轻松地获取您的消息

【讨论】:

  • 实际上,我想将客户端的消息传递到我的 android 应用程序中。我想知道在客户手中检索它们的方法。
  • alpay,我试图从 openfire 获取聊天记录,但不幸的是我搜索了 arnd 并找不到任何 api。你知道需要哪个 HTTP 请求吗?
  • 我无法访问服务器(它在远程位置),所以我无法使用这个解决方案。所以我只是在寻找一个直接的 api 来检索历史记录
  • 我没有测试过,但你应该看到thisthis。我希望他们有所帮助
  • 即使用户禁用了 XMPP 客户端的历史记录,邮件是否会保存在这里?
【解决方案2】:

据我所知,Openfire 中没有存储聊天记录。您只能获取用户发送的离线消息(例如,当他们下次连接时),但如果您想存储消息,您可以直接在 XMPP 服务器上自己实现(我个人使用 mongodb 完成了它 - 效果很好!) .

但是,也许我错过了 Openfire 中的某些内容...

【讨论】:

  • 是的,你是对的。我的 Web 开发人员已经在 XMPP 服务器上实现了插件来归档聊天消息,但是在客户端(或设备端)我没有任何方法可以访问该归档消息。
  • 我正在使用 smack api 在我的 android 应用程序中实现聊天功能,因此我正在寻找确切的代码,通过它我可以在设备手边从 XMPP 服务器检索聊天历史记录。
  • 我希望您能尽快得到答复。所以请尽快给我答复。
  • 好吧,我个人是使用 mongodb 来做的,所以如果你决定也使用 mongodb,你可以从你的 Android 应用程序连接到服务器上的 mondodb 并从那里查询集合。
  • 嗨 Guillaume,我在这方面搜索了太多,无法从 xmpp 服务器检索存档消息..我仔细阅读了 smack 库中可用的所有 api,但没有人帮助我。如果您可以在代码 sn-p 级别上帮助我,那么可能会帮助我实现。请尽快帮助我......我对这个实施感到非常沮丧。
猜你喜欢
  • 2017-01-15
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 2016-06-26
  • 2016-12-04
  • 2015-09-25
相关资源
最近更新 更多