使用Smack将自己的用户与xmpp聊天客户端集成

时间:2015-11-09 14:25:11

标签: android xmpp smack

我在Android上摆弄Smack,并且完全混淆了如何将我自己的数据库用户与此XMPP客户端集成。根据我的理解,XMPP拥有自己的用户和群组概念及其登录凭据。此外,他们还有Chat和ChatManager的帮助对象。

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

  • 我如何验证用户,我的意思是凭证。
  • 如何收听当前用户的传入消息。
  • 我可以使用REST界面向我的服务器发送聊天消息,而不是通过XMPP客户端 - 在这种情况下,上述监听器是否仍然有用?
  • 使用smack - 我仍然可以控制管理我用于聊天消息的对象,以便在我的服务器和客户端之间进行通信。

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

1 个答案:

答案 0 :(得分:0)

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