【XMPP】XMPP類型
一、ConnectionConfiguration
- 做爲用於與XMPP服務創建鏈接的配置。它能配置;鏈接是否使用TLS,SASL加密。
- 包含內嵌類:ConnectionConfiguration.SecurityMode
二、XMPPConnection
- XMPPConnection這個類用來鏈接XMPP服務.
- 可使用connect()方法創建與服務器的鏈接。disconnect()方法斷開與服務器的鏈接.
- 在建立鏈接前可使用XMPPConnection.DEBUG_ENABLED = true; 使開發過程當中能夠彈出一個GUI窗口,用於顯示咱們的鏈接與發送Packet的信息。
三、ChatManager
- 用於監控當前全部chat。可使用createChat(String userJID, MessageListener listener)建立一個聊天。
四、Chat
- Chat用於監控兩個用戶間的一系列message。使用addMessageListener(MessageListener listener)當有任何消息到達時將會觸發listener的processMessage(Chat chat, Message message)方法.
- 咱們可使用sendMessage()發送消息,這個方法有兩個重載方法,一種類類型的參數時String類型,另外一種則是傳入Message對象(後面介紹)。
五、Message
- Message用於表示一個消息包(能夠用調試工具看到發送包和接收包的具體內容)。它有如下多種類型。
- Message.Type.NORMAL -- (默認)文本消息(好比郵件)
- Message.Type.CHAT -- 典型的短消息,如QQ聊天的一行一行顯示的消息
- Message.Type.GROUP_CHAT -- 羣聊消息
- Message.Type.HEADLINE -- 滾動顯示的消息
- Message.TYPE.ERROR -- 錯誤的消息
- Message有兩個內部類:
- Message.Body -- 表示消息體
- Message.Type -- 表示消息類型
六、Roster
- 表示存儲了不少RosterEntry的一個花名冊.爲了易於管理,花名冊的項被分貝到了各個group中.
- 當創建與XMPP服務的鏈接後可使用connection.getRoster()獲取Roster對象。
- 別的用戶可使用一個訂閱請求(至關於QQ加好友)嘗試訂閱目的用戶。可使用枚舉類型Roster.SubscriptionMode的值處理這些請求:
- accept_all: 接收全部訂閱請求
- reject_all:拒絕全部訂閱請求
- manual: 手工處理訂閱請求
- 建立組:RosterGroup group = roster.createGroup("大學");
- 向組中添加RosterEntry對象: group.addEntry(entry);
七、RosterEntry
- 表示Roster(花名冊)中的每條記錄.它包含了用戶的JID,用戶名,或用戶分配的暱稱.
八、RosterGroup
- 表示RosterEntry的組。可使用addEntry(RosterEntry entry)添加。contains(String user) 判斷某用戶是否在組中.固然removeEntry(RosterEntry entry)就是從組中移除了。getEntries()獲取全部RosterEntry.
九、Presence
- 表示XMPP狀態的packet。每一個presence packet都有一個狀態。用枚舉類型Presence.Type的值表示:
- available -- (默認)用戶空閒狀態
- unavailable -- 用戶沒空看消息
- subscribe -- 請求訂閱別人,即請求加對方爲好友
- subscribed -- 統一被別人訂閱,也就是確認被對方加爲好友
- unsubscribe -- 他取消訂閱別人,請求刪除某好友
- unsubscribed -- 拒絕被別人訂閱,即拒絕對放的添加請求
- error -- 當前狀態packet有錯誤
- 內嵌兩個枚舉類型:Presence.Mode和Presence.Type.
- 可使用setStatus自定義用戶當前的狀態(像QQ同樣的)
歡迎關注本站公眾號,獲取更多信息