XMPP RFC / smack (Message/IQ/Presence)文档

XMPP RFC

可扩展消息和状态协议(XMPP)的基本规范正式确定了Jabber开源社区在1999年开发的核心协议。它们由IETF的XMPP工作组制定,并于2004年10月作为RFC 3920和3921发布。

XMPP RFC

XMPP rfc文档导航

XMPP rfc3920文档

XMPP rfc3921文档

smack : Java开发包

ignite realtime下载导航

Index of /smack 各版本下载和文档

smack V4.3.3版本文档

XMPP Clients

XMPP Clients

xmpp getting-started

Presence

smack Presence 文档

表示XMPP存在数据包(packets)。每个状态节(stanza)都具有一种类型(type),该类型是以下值之一:

  • available-(缺省)指示用户可以接收消息。
  • unavailable-用户无法接收消息。
  • subscribe-请求订阅收件人的存在。
  • subscribed-将订阅授予发件人的存在。
  • unsubscribe-请求删除对发件人的订阅。
  • unsubscribed-取消订阅到发件人的状态。
  • error-状态节包含错误消息。

许多属性是可选的:

Status-描述用户在场(即午餐)的自由格式文本。

Priority-发送方资源的非负数字优先级。最高资源优先级是未寻址到特定资源的数据包的默认接收者。

Mode-五个状态模式之一:available (the default), chat, away, xa (extended away), and dnd (do not disturb)。

存在数据包用于两个目的。首先,通知服务器用户的当前状态。其次,它们用于从名册中订阅和取消订阅用户。

IQ

smack IQ 文档

The base IQ (Info/Query) packet.

IQ数据包用于获取和设置服务器上的信息,包括身份验证,名册操作和创建帐户。

每个IQ节都有一个特定的类型,该类型指示要采取的操作类型:“获取”,“设置”,“结果”或“错误”。

IQ数据包可以包含存在于特定XML名称空间中的单个子元素。元素名称和名称空间的组合决定了IQ节的类型。 IQ子数据包片段的一些示例:

<query xmlns="jabber:iq:auth"> -- an authentication IQ.
<query xmlns="jabber:iq:private"> -- a private storage IQ.
<pubsub xmlns="http://jabber.org/protocol/pubsub"> -- a pubsub IQ.

Message:

smack Message 文档

表示XMPP消息包。消息可以是以下几种类型之一:

  • Message.Type.NORMAL – (默认)用于类似电子邮件界面的普通短信。
  • Message.Type.CHAT – 在逐行聊天界面中使用的典型的短文本消息。
  • Message.Type.GROUP_CHAT – 发送到群聊服务器以进行群聊的聊天消息。
  • Message.Type.HEADLINE – 在滚动字幕显示中显示的文本消息。
  • Message.Type.ERROR – 指示消息传递错误。

对于每种消息类型,通常如下使用不同的消息字段:

XMPP RFC / smack (Message/IQ/Presence)文档_第1张图片

你可能感兴趣的:(xmpp)