协议和架构
基本结构
- 1.4 xmpp 寻址
- JID: id@192.168.1.136.com
-
1.5 xmpp 节
-
<presence>
:出席- 订阅出席:subscribe unsubscribe subscribed unsubscribed
- 定向出席
-
<message>
-
type
- chat
- error
- groupchat
- normal
- headline
<thread>
-
-
<iq>
:info/query P15 -
<error>
: RFC3920 – 3.9.2 节- 取值:cancel continue modify auth wait
-
-
连接的生命周期
-
连接
-
SRV 记录:DNS 资源记录之一
-
SRV 是 DNS 记录中一种,用来指定服务地址。与常见的 A 记录、cname 不同的是,SRV 中除了记录 服务器 的地址,还记录了 服务 的端口,并且可以设置每个服务地址的优先级和权重。
-
插曲 — DNS 中的七大资源记录介绍!
- A 记录:IP <–> 域名对应关系
- NS:某区域有哪些服务器负责解析域名
- SOA:解析域名的主服务器
- MX 记录:邮件服务器
- PTR:A 的逆向记录
-
-
-
流的建立 P17
-
<stream:stream>
节
-
-
身份验证
- 支持 TLS 传输,配合服务端设计验证身份.
- 断开
-
设计应用
-
xmpp 协议和 http 的差异性
-
优势:
- http 是请求响应型,xmpp 是推送.
- 取悦防火墙:xmpp 服务器可以直接推送数据给客户端,http 只能是请求 - 响应.
- xmpp 支持 tls 和 SASL 传输,类似于 https.
-
劣势:
- 有状态
- 生态小
- 开销大
-
-
BOSH — Bidirectional-streams Over Synchronous HTTP
- bosh 是长轮询
- 连接管理
- Strophe js
TODO
XMPP 通讯安全 –SASL 协议学习