2015-11-09 70 views
0

我在Android上操縱Smack,並完全搞不清楚如何將我自己的數據庫用戶與此XMPP客戶端集成。根據我的理解,XMPP擁有自己的用戶和組的概念以及他們的登錄憑證。此外,他們還有聊天和聊天管理器的輔助對象。將自己的用戶與使用Smack的xmpp聊天客戶端集成

我有我自己的用戶數據庫和聊天消息,我想存儲在我的服務器和設備上。讓我們說用戶有id - id1。現在:

  • 我如何認證用戶,我的意思是什麼將是憑據。
  • 如何收聽當前用戶的傳入消息。
  • 我可以使用REST接口將聊天消息發送到我的服務器,而不是通過XMPP客戶端 - 在這種情況下,上述監聽器是否仍然可以工作?
  • 使用smack - 我仍然得到控制來管理我的服務器和客戶端之間的通信聊天消息使用什麼對象。

基本上,我覺得我無法可視化服務器幕後發生的事情(或如何實現它)。有人可以解釋一下基本知識,或者指向正確的方向。

回答

0
  1. 您需要有XMPP服務器應用程序(ejabberd,prosody,openfire,tigase等)來驗證用戶身份。大多數XMPP服務器能夠根據您自己的用戶數據庫/ REST API對用戶進行身份驗證,或者您可以編寫簡單的插件/腳本。你也可以編寫自己的XMPP服務器,但這可能太複雜了。
  2. documentation提供有用的messaging examples
  3. 你的REST接口可以發送XMPP消息太多,或者你可能需要編寫額外的XMPP服務器插件來監視你的數據庫中的新郵件,取決於你的服務架構
  4. 你可以擴展XMPP只要你喜歡,就把你的擴展消息字段放在你自己的XML名字空間中。當然,您可能需要在客戶端和服務器上擴展XMPP庫以支持這些新的消息元素。
+0

感謝您的迴應!我可以爲已經註冊的用戶生成什麼樣的用戶名和登錄名?另外,關於#3,如果我們使用REST接口,消息監聽器是否仍然工作,或者是否需要修改服務器上的某些內容以使其正常工作。 – pankaj