一、XMPP基于xml,XMPP用TCP传递的是xml流。它具备xml的灵活性和扩展性。能够实现服务类实时通信。android
XMPP的核心XML流传输协议的定义使得XMPP可以在一个比以往网络通讯协议更规范的平台上。借助于XML易于解析和阅读的特性。安全
XMPP核心协议通讯的基本模式就是先创建一个stream,而后协商一堆安全之类的东西,中间通讯过程就是客户端发送XML Stanza,一个接一个的。服务器根据客户端发送的信息以及程序的逻辑,发送XML Stanza给客户端。可是这个过程并非一问一答的,任什么时候候都有可能从一方发信给另一方。通讯的最后阶段是关闭流,关闭TCP/IP链接。服务器
MQTT(Message Queuing Telemetry Transport)是IBM开发的一个即时通信的协议。
MQTT的特色:
1)、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
2)、对负载内容屏蔽的消息传输;
3)、使用 TCP/IP 提供网络链接;
4)、有三种消息发布服务质量:
“至多一次”,消息发布彻底依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于以下状况,环境传感器数据,丢失一次读记录无所谓,由于不久后还会有第二次发送。
“至少一次”,确保消息到达,但消息重复可能会发生。
“只有一次”,确保消息到达一次。这一级别可用于以下状况,在计费系统中,消息重复或丢失会致使不正确的结果。
5)、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以下降网络流量;网络
MQTT很是适合做为Android手机客户端与服务器推送消息。其中Sohu,Cmstop手机客户端中均有使用到MQTT做为消息推送消息。据Cmstop主要负责消息推送的高级研发工程师李文凯称,随着移动互联网的发展,MQTT因为开放源代码,耗电量小等特色,将会在移动消息推送领域会有更多的贡献,在物联网领域,传感器与服务器的通讯,信息的收集,MQTT均可以做为考虑的方案之一。 ui