1、XMPP的基本网络结构是怎样?

xmpp中定义了三个角色,客户端、服务器和网关;通讯可以在这三者之间的任意两者中进行双向进行。服务器同时承担了客户端的信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSNICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML

2、XMPP协议的网络架构:

XMPP是一个典型的C/S架构,而不是像大多数即时通讯软件一样,使用P2Pclientclient的架构,也就是说在大多数情况下,当两个client进行通讯时,他们的消息都是通过server传递的(也有例外,比如在两个client传输文件时).採用这样的架构,主要是为了简化client,将大多数工作放在server端进行,这样,client的工作就比较简单,并且,当添加功能时,多数是在server端进行.

3、XMPP通过TCP传输了什么?

传输的是与即时通讯相关的消息指令,在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,人也容易阅读了,方便了开发和查错。而XMPP的核心部分就是一个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说,XMPPTCP传的是XML流。

4、XMPP的工作原理:

  • 节点连接到server
  • server利用本地文件夹系统中的证书对其认证;
  • 节点指定目标地址,让server告知目标状态;
  • server查找、连接并进行相互认证;
  • 节点之间进行交互.

5、XMPP客户端

XMPP 系统的一个设计标准是必须支持简单的client。其实,XMPP 系统架构对client仅仅有非常少的几个限制。一个XMPP client必须支持的功能有:

  • 通过 TCP 套接字与XMPP server进行通信;
  • 解析组织好的 XML 信息包;
  • 理解消息数据类型。
    MPP client与服务端通过XMLTCP 套接字的5222 port进行通信,而不须要client之间直接进行通信。

6、XMPP服务端

XMPP server遵循两个主要法则:

  • 监听client连接,并直接与client应用程序通信;
  • 与其它 XMPP server通信;

7、XMPP网关

XMPP 突出的特点是能够和其它即时通信系统交换信息和用户在线状况。因为协议不同,XMPP 和其它系统交换信息必须通过协议的转换来实现,眼下几种主流即时通信协议都没有公开,所以XMPP server本身并没有实现和其它协议的转换,但它的架构同意转换的实现。实现这个特殊功能的服务端在XMPP 架构里叫做网关(gateway)。眼下,XMPP 实现了和AIMICQIRCMSN MassagerRSS0.9Yahoo Massager 的协议转换。因为网关的存在,XMPP 架构其实兼容全部其它即时通信网络,这无疑大大提高了XMPP 的灵活性和可扩展性。

随身笔记 - XMPP协议详解相关推荐

  1. xmpp协议详解一:xmpp基本概念

    概述 XMPP是一个开放式的XML协议,设计用于准实时消息和出席信息以及请求-响应服务. 通用的架构 通常采用客户端服务器架构进行实现,其中客户端通过TCP方式使用XMPP访问服务器,服务器之间也采用 ...

  2. TCP/IP协议详解卷一:Chapter21 笔记

    TCP/IP协议详解卷一:Chapter21 笔记 Chapter 21 TCP的超时与重传 21.3 往返时间测量 21.5 拥塞举例 21.6 拥塞避免算法 21.7 快速重传与快速恢复算法 21 ...

  3. Http 协议详解笔记

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第 ...

  4. IP协议详解---Linux学习笔记

    网络层概述: IP服务的特点: IP协议为上层协议提供无状态.无连接.不可靠的服务. 无状态:IP通讯双方不同步传输状态的信息,因此所有IP数据报发送.传输.接收都是相互独立的,没有上下文关系.这样同 ...

  5. Web协议详解与抓包实战之HTTP1.1 学习笔记【一】

    Web协议详解与抓包实战之HTTP1.1[一] 前言 <Web协议详解与抓包实战>课程学习,陶辉老师主讲 学习内容: HTTP–TLS/SSL–TCP/IP自上而下根据应用学习web协议H ...

  6. TCP/IP协议详解---概述

    工作之后,才发现以前在学校里学的东西忘得太快太干净了,现在需要一点点地捡起来了,要不然写几行程序会闹很多笑话会出现很多bug的.从今天开始,翻一翻<TCP/IP协议详解 卷1>这本书,希望 ...

  7. IoT:MQTT协议详解

    IoT -- (七)MQTT协议详解 转自:https://blog.csdn.net/anxianfeng55555/article/details/80908795 MQTT是什么? MQTT(M ...

  8. IP/TCP协议详解

    系列文章目录 第一篇 : TCP/IP协议详解 第二篇 : IP协议 第三篇 : TCP协议 第四篇 : 面试准备 文章目录 系列文章目录 前言 第一章.TCP/协议族 1.1 层次介绍 1.2 封装 ...

  9. nb服务器协议,nb-iot协议详解

    设计的优点是都能部署在现在的LTE网络,只需要对基站和核心网的软件进行升级即可,不需要为IoT物联网通讯专门设计并建设一个专门网络,可以大大降低建设成本.与LTE一样,NB-IoT终端在开机并搜索载波 ...

最新文章

  1. 直接导入用户信息到discuz ucenter.
  2. Hadoop HA+Federation 高可用联邦模式搭建指南
  3. Spring cloud(Finchley)微服务框架,sleuth整合zipkin链路追踪失效的问题
  4. clob类型用java怎么存,Java 储存和读取 oracle CLOB 类型字段的实用方法
  5. sqlite3x library
  6. php怎么输出汉字大写的时间,php汉字转首字母大写的方法是什么
  7. supersocket缓冲区_关于supersocker的数据传输中遇到的问题
  8. c语言在线电子词典的实验报告,电子词典系统设计实验报告.doc
  9. Mac无法打开“XX”,因为Apple无法检查其是否包含恶意软件。”的解决办法
  10. php sql注入防御方法,SQL注入防御的方法有哪些
  11. 冰汽朋克侦查机器人_冰汽时代困难难度机器人流玩法心得 寒霜朋克困难难度怎么玩...
  12. 用python预测小孩的身高体重标准表格_【儿童的标准身高】儿童身高体重标准表2017 儿童身高体重计算公式...
  13. jQuery事件总结
  14. java开发面试评语
  15. 微信公众号菜单html5,Vue.js 实现微信公众号菜单编辑器功能(一)
  16. LS-WXL/E改机应用流程全攻略(改机+下载工具安装)
  17. 计算机丢失bdertl60,bdertl60.bpl
  18. NLP的命名实体识别 -- 嵌套实体问题
  19. 3、信管网A公司准备研发一款手机无线充电器,项目启动时间为2018年1月
  20. 小程序源码:强大多流量主自带接口短视频去水印工具箱微信小程序

热门文章

  1. 游戏建模三大软件:3Dmax、Maya、zbrush 应该如何学才好?
  2. pbootcms后台编辑器上传mp4视频 默认黑屏不显示如何解决
  3. 左耳听风 第四十二周
  4. java连接https,连接重置为https连接
  5. TS文件用vlc播放,seek灰屏问题研究
  6. AZ3166开发套件
  7. 以移动浦发联名挂件卡解析qPBOC应用
  8. linux 解压 文件 中文名乱码
  9. Ubuntu下使用SCM Micro’s SDI011双界面读卡器驱动
  10. 七年级计算机信息技术 教案,七年级信息技术上学期 第九课计算机操作系统 教案...