【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同样的)
相关文章
相关标签/搜索