1、XMPP
1.1 XMPP 简介
1、XMPP 起源
最初 XMPP 作为一个框架开发,目标是支持企业环境内的即时消息传递和联机状态应用程序。
XMPP 的前身是 Jabber(1998 年),是一个开源组织定义的网络即时通信协议。
XMPP 是一个分散型通信网络,这意味着,只要网络基础设施允许,任何 XMPP 用户都可以向其他任何 XMPP 用户传递消息。
多个 XMPP 服务器也可以通过一个专门的 “服务器-服务器” 协议相互通信,提供了创建分散型社交网络和协作框架的可能性。
XMPP 协议曾经是 Google 力推的即时通信协议,其代表作品是 GTalk。
2、XMPP 诞生的由来
设计一款全世界都使用的即时通讯协议,无论使用什么即时通讯软件,都可以互联互通。
3、XMPP 概述
XMPP:The Extensible Messaging and Presence Protocol,可扩展通讯和表示协议,是一种基于 XML 的即时通讯协议,用于即时消息以及在线现场探测。
它继承了在 XML(可扩展标记语言)环境中灵活的发展性,这表明 XMPP 是可扩展的。
XMPP 规范了用于即时通信在网络上的数据传输格式,它的核心是 XML 流传输协议的定义,可用于服务类实时通讯、表示和需求,响应服务中的 XML 数据元流式传输。
使得 XMPP 能够在一个比以往网络通信协议更规范的平台上。借助于 XML 易于解析和阅读的特性,使得 XMPP 的协议能够非常漂亮。
XMPP 包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配置好的系统添加功能。
促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。
XMPP 是一个典型的 C/S 架构,基本的网络形式是客户端通过 TCP/IP 连接到服务器,通过 Socket 建立连接(目的是为了保持长连接),然后在之上传输 XML 流。
XMPP 以 Jabber 协议为基础,而 Jabber 是即时通讯中常用的开放式协议。
XMPP 的技术规格已被定义在 RFC 3920 及 RFC 3921,文档定义了登录,退出,获取好友,发送消息等等的 XML 数据传输协议。
XMPP 的扩展协议 Jingle 使得其支持语音和视频,目前 iOS 尚不支持。
2、即时通讯技术分析
即时通讯(IM:Instant Messaging):又称实时通讯,支持用户在线实时交谈,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。
即时通讯在开发中使用的场景有许多,如 AOL、Yahoo IM、MSN、QQ 以及微信等聊天软件,在电商 APP 集成买家与卖家的实时沟通等。它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议,协议是用来说明信息在网络上如何传输。
如果有了统一的传输协议,那么应当可以实现各个 IM 之间的直接通讯,为了创建即时通讯的统一标准,人们多次努力,试图统一各大主要 IM 供应商的标准(AOL、Yahoo 及 Microsoft),但无一成功,且每一种 IM 仍然继续使用自己所拥有的协议。目前已经出现过的 IM 协议包括:
SIP :IETF 的对话初始协议,是建立 VOIP 连接的 IETF 标准,而 VOIP 就是网络电话。
SIMPLE:即时通讯对话初始协议和表示扩展协议。
APEX :应用交换协议。
PRIM :显示和即时通讯协议。
XMPP :基于 XML 且开放的可扩展通讯和表示协议,常称为 Jabber 协议。
当前实现即时通讯的方案:
XMPP :可扩展通讯和表示协议。
EaseMob:环信,提供即时通信的一个第三平台,是在 XMPP 的基础上进行的二次开发。
哇谷im_im即时通讯_私有云_公有云-哇谷云科技官网-JM沟通
IM下载体验 - 哇谷IM-企业云办公IM即时聊天社交系统-JM 沟通下载
IM功能与价格 - 哇谷IM-提供即时通讯IM开发-APP搭建私有化-公有云-私有化云-海外云搭建
新闻动态 - 哇谷IM-即时通讯热门动态博客聊天JM沟通APP
哇谷IM-JM沟通热门动态博客短视频娱乐生活
关于哇谷-哇谷IM-提供企业即时通讯IM开发-语音通话-APP搭建私有化-公有云-私有化云-海外云搭建
联系我们 - 哇谷IM-即时通讯IM私有化搭建提供接口与SDK及哇谷云服务
im即时通讯社交软件APP红包技术分析(五):微信红包、聊呗红包、诚信红包、高并发技术
新的市场叫板环信、融云、腾讯云!开源版IM即使聊天工具
哇谷云-怎么样正确认识海外云服务器
公有云和私有云之间有什么区别?类似融云、环信云、网易云、哇谷云?