XMPP通信原理

作者: dogs_five | 来源:发表于2016-06-14 12:24 被阅读1366次

本文章对XMPP通信原理做基本的介绍,不讲具体代码。在面试的时候会经常听到:能介绍一下XXXX原理吗?当然面试不一定全是问XMPP原理。所以接下来几篇文章都是一些原理的介绍,希望对小伙伴们能有所用处,废话不多,进入主题。
1:XMPP概述
XMPP(可扩展消息处理现场协议)的前身是Jabber,由一个开源组织产生的即时通信协议,基于可扩展标记语言(XML)的一种协议,是由IETF(国际互联网小组)通过的网络标准。
XMPP定义了三个角色:客户端,服务端以及网关(下面介绍作用)
2:XMPP的优势
可扩展性:XMPP基于XML,因此具有良好的扩展性。
开源:XMPP不属于任何一个人。
安全:XMPP在Client-to-Server通信,和Server-to-Server通信中都使⽤用TLS (Transport Layer Security)协议作为通信通道的加密⽅法。
分布式:XMPP没有中央服务器,任何企业例如都可以拥有自己的XMPP服务器,并且服务器之间以及不同服务器的用户可以相互通信。举例:如现在的qq用户是不可能和FaceBook用户通信的,但是若干年后(XMPP已经作为网络标准),可能出现一种情况,qq用户可以添加并且和fb用户聊天。

3:缺点
负载过重,没有二进制数据传输。

4:网关(gateway)
上面说到qq用户和FB用户聊天,那么这里不得不提网关,网关的作用就是实现XMPP和其他系统之间的协议转换,使其可以互相交换信息.

5:通信原理


连接原理图.png

1:首先客户端1通过socket向服务端通过三次握手建立TCP长连接(由C1向服务器发送登陆等信息进行认证)。


三次握手长链接.png

2:服务器端对C1进行认证成功,服务器将C1的联系人列表返回给它
3:C1通过服务端向其好友发送状态(presence)消息(在线/隐身)

6 七层协议简介


tcp:ip协议族.gif 协议详解.png

这里对TCP和UDP进行一个区分:


TCP和UDP协议区别.png

这里给大家再普及一个很小的知识点:
ip:我们都听过ip寻址,那么ip是什么呢?ip类似于人的身份证,是电脑的唯一标示。
端口:端口是进程的唯一标示,如果不明白什么是进程就看作是应用程序(QQ)。有效端口是0-65535,其中0-1024为系统占用或者系统保留端口,不建议使用。

相关文章

  • XMPP通信原理

    本文章对XMPP通信原理做基本的介绍,不讲具体代码。在面试的时候会经常听到:能介绍一下XXXX原理吗?当然面试不一...

  • 即时通讯

    XMPP 一、 实现原理 XMPP是一个即时通讯的协议,是建立在Socket通信基础上的,它规范了用于即时通信...

  • 即时通讯

    XMPP XMPP的实现原理 XMPP是一个即时通讯的协议,它规范了用于即时通信在网络上数据传输格式的,比如登录,...

  • 即时通讯

    1、是否使用过XMPP,XMPP的实现原理 1、XMPP是一个即时通讯的协议,它规范了用于即时通信在网络上数据传输...

  • XMPP的实现原理

    XMPP的实现原理 有没有做过即时通讯?是否使用过XMPP,讲述一下XMPP的实现原理 XMPP是一个即时通讯的协...

  • IOS 问题合集 面试

    是否使用过XMPP,XMPP的实现? 环信是一个即时通信的服务提供商 环信使用的是XMPP协议,它是再XMPP的基...

  • XMPP基础

    概要 1、即时通讯技术简介2、XMPP诞生的由来3、XMPP特点4、XMPP的基本结构5、XMPP工作原理6、XM...

  • iOS-进阶整理10 - 即时通信1 XMPP openfire

    即时通信(Instant Messaging),就是扣扣,微信它有多种实现方式,如XMPP、环信、融云等。XMPP...

  • iOS 即时通信系列之XMPP登入、注册、聊天

    说明:在即时通信系列XMPP之搭建本地服务器中阐述了通过XAMPP、Openfire工具搭建基于XMPP的服务器端...

  • XMPP面试问题-1

    有没有做过即时通讯?是否使用过XMPP,讲述一下XMPP的实现原理 XMPP是一个即时通讯的协议,它规范了用于即时...

网友评论

  • 信仰支撑我不会痛:xmpp协议的内容并没有被提及多少,mark看以后的更新了。
    KearWang:xmpp不是耗流量、耗电量吗?是不是现在都推荐用mqtt和Protobuf
  • 豫风:不错,就是太少了
  • 5d32ca0383ce:三次握手协议的建立连接过程 太喜感了~~
    啊哈哈哈

本文标题:XMPP通信原理

本文链接:https://www.haomeiwen.com/subject/gtcudttx.html