【问题标题】:integrating own users with xmpp chat client using Smack使用 Smack 将自己的用户与 xmpp 聊天客户端集成
【发布时间】:2016-02-10 05:25:00
【问题描述】:

我在 Android 上摆弄Smack 并且完全不知道如何将我自己的数据库用户与这个 XMPP 客户端集成。据我了解,XMPP 有自己的用户和组及其登录凭据的概念。此外,它们还有 Chat 和 ChatManager 的辅助对象。

我有自己的用户数据库,以及想要存储在服务器和设备上的聊天消息。假设用户有 id - id1。现在:

  • 我如何对用户进行身份验证,我的意思是凭据是什么。
  • 如何收听当前用户的传入消息。
  • 我可以使用 REST 接口将聊天消息发送到我的服务器,而不是通过 XMPP 客户端 - 在这种情况下,上述侦听器是否仍然可以工作?
  • 使用 smack - 我是否仍然可以控制我用于聊天消息的对象以在服务器和客户端之间进行通信。

基本上,我认为我无法想象服务器幕后发生的事情(或如何实现它)。有人可以解释一下基础知识或指出正确的方向吗?

【问题讨论】:

    标签: android xmpp smack


    【解决方案1】:
    1. 您需要有 XMPP 服务器应用程序(ejabberd、prosody、openfire、tigase 等)来验证用户。大多数 XMPP 服务器都能够根据您自己的用户数据库/REST API 对用户进行身份验证,或者您可以编写简单的插件/脚本。您也可以编写自己的 XMPP 服务器,但任务可能过于复杂。
    2. 轻拍documentation 提供有用的messaging examples
    3. 您的 REST 接口也可能发送 XMPP 消息,或者您可能需要编写额外的 XMPP 服务器插件来监控数据库中的新消息,具体取决于您的服务架构
    4. 您可以随意扩展 XMPP 消息,只需将扩展消息字段保留在您自己的 XML 命名空间中。当然,您可能需要在客户端和服务器上扩展 XMPP 库以支持这些新的消息元素。

    【讨论】:

    • 感谢您的回复!我可以为已经注册的用户生成什么样的用户名和登录名?另外,关于#3,如果我们使用 REST 接口,消息监听器是否仍然有效,或者我需要在服务器上修改一些东西以使其正常工作。
    猜你喜欢
    • 2011-12-05
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    相关资源
    最近更新 更多