乐趣区

应用层协议之xmpp基础学习

协议和架构

基本结构

  • 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 协议学习

退出移动版