【XMPP】XMPP類型

一、ConnectionConfiguration

  1. 做爲用於與XMPP服務創建鏈接的配置。它能配置;鏈接是否使用TLS,SASL加密。
  2. 包含內嵌類:ConnectionConfiguration.SecurityMode

二、XMPPConnection

  1. XMPPConnection這個類用來鏈接XMPP服務.
  2. 可使用connect()方法創建與服務器的鏈接。disconnect()方法斷開與服務器的鏈接. 
  3. 在建立鏈接前可使用XMPPConnection.DEBUG_ENABLED = true; 使開發過程當中能夠彈出一個GUI窗口,用於顯示咱們的鏈接與發送Packet的信息。

三、ChatManager

  1. 用於監控當前全部chat。可使用createChat(String userJID, MessageListener listener)建立一個聊天。

四、Chat

  1. Chat用於監控兩個用戶間的一系列message。使用addMessageListener(MessageListener listener)當有任何消息到達時將會觸發listener的processMessage(Chat chat, Message message)方法.
  2. 咱們可使用sendMessage()發送消息,這個方法有兩個重載方法,一種類類型的參數時String類型,另外一種則是傳入Message對象(後面介紹)。

五、Message

  1. Message用於表示一個消息包(能夠用調試工具看到發送包和接收包的具體內容)。它有如下多種類型。
  2. Message.Type.NORMAL -- (默認)文本消息(好比郵件)
  3. Message.Type.CHAT -- 典型的短消息,如QQ聊天的一行一行顯示的消息
  4. Message.Type.GROUP_CHAT -- 羣聊消息
  5. Message.Type.HEADLINE -- 滾動顯示的消息
  6. Message.TYPE.ERROR -- 錯誤的消息
  7. Message有兩個內部類:
  8. Message.Body -- 表示消息體
  9. Message.Type -- 表示消息類型

六、Roster

  1. 表示存儲了不少RosterEntry的一個花名冊.爲了易於管理,花名冊的項被分貝到了各個group中.
  2. 當創建與XMPP服務的鏈接後可使用connection.getRoster()獲取Roster對象。
  3. 別的用戶可使用一個訂閱請求(至關於QQ加好友)嘗試訂閱目的用戶。可使用枚舉類型Roster.SubscriptionMode的值處理這些請求:
  4. accept_all: 接收全部訂閱請求
  5. reject_all:拒絕全部訂閱請求
  6. manual:  手工處理訂閱請求
  7. 建立組:RosterGroup group = roster.createGroup("大學");
  8. 向組中添加RosterEntry對象: group.addEntry(entry);

七、RosterEntry

  1. 表示Roster(花名冊)中的每條記錄.它包含了用戶的JID,用戶名,或用戶分配的暱稱.

八、RosterGroup

  1. 表示RosterEntry的組。可使用addEntry(RosterEntry entry)添加。contains(String user) 判斷某用戶是否在組中.固然removeEntry(RosterEntry entry)就是從組中移除了。getEntries()獲取全部RosterEntry.

九、Presence

  1. 表示XMPP狀態的packet。每一個presence packet都有一個狀態。用枚舉類型Presence.Type的值表示:
  2. available -- (默認)用戶空閒狀態
  3. unavailable -- 用戶沒空看消息 
  4. subscribe -- 請求訂閱別人,即請求加對方爲好友 
  5. subscribed -- 統一被別人訂閱,也就是確認被對方加爲好友 
  6. unsubscribe -- 他取消訂閱別人,請求刪除某好友
  7. unsubscribed -- 拒絕被別人訂閱,即拒絕對放的添加請求 
  8. error -- 當前狀態packet有錯誤
  9. 內嵌兩個枚舉類型:Presence.Mode和Presence.Type.
  10. 可使用setStatus自定義用戶當前的狀態(像QQ同樣的)
相關文章
相關標籤/搜索