基于XMPP的即时通讯系统的创建(一)— XMPP基础概念

IMPP(http://www.cnblogs.com/jiyuqi/tag/xmpp/)
php

即时信息与空间协议(Instant Messaging and Presence Protocal)服务器

IMPP主要定义必要的协议和数据格式,用来构件一个具备空间接收、发布能力的即时消息系统。到目前为止,IETF已经出了三个草案的RFC,但主要有两个:一个是针对站点空间和即时通信模型的(RFC 2778);另外一个是针对即时通信/空间协议需求条件的(RFC2779)。RFC2778是一个资料性质的草案,定义了全部presence和IM服务的原理。RFC2779定义了IMPP的最小需求条件。另外,这个草案还就presence服务定义了一些条款,例如运行的命令、信息的格式、以及presence服务器如何把presence的状态变化通知给客户。网络

具体参考:session

https://en.wikipedia.org/w/index.php?title=Instant_Messaging_and_Presence_Protocol&redirect=no工具

SIP(SIMPLE)设计

SIP(Session Initiation Protocol)视频

SIP一种用于信令和控制多媒体通信session的协议。其最多见的应用是经过SIP协议实现的语音和视频网络电话,以及经过IP网络实现的即时消息通信。该协议规定了在各通讯方中传递的消息,这些消息决定这一个网络电话的创建、终止以及其余必要的步骤。SIP协议能够用于建立、修改和终止一个或多个媒体链接。SIP是一个应用层协议,被设计为独立于下层的传输层。它是一个基于文本的协议,结合了不少HTTP和SMTP协议的元素。SIP协议一般与其余应用层协议一块儿工做。blog

SIMPLE(The Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions)继承

SIMPLE协议是由IETF定义的基于SIP的一个即时消息(IM)和空间协议套。与现今普遍使用的软件实现即时通讯与空间协议相比,SIMPLE是相似于XMPP的公开标准。进程

SIMPLE使用SIP协议发送presence信息。SIP是IETF为终端定制的一种协议,其通常用于创建语音通话中,一旦创建链接后,使用实时协议(RTP)进行实际上的语音发送。但SIP不只能够用在语音上,也能够用在视频上。SIMPLE被定义为一个创建IM进程的方法。

XMPP

可扩展的消息与空间协议(Extensible Messaging and Presence Protocol)

该协议的前身是Jabber,咱们采起XMPP协议主来实现IM主要是考虑XMPP协议是以XML为基础的,它继承了在XML环境中灵活的发展性。这代表XMPP是可扩展的,因此XMPP信息不只能够是简单的文本,并且能够携带复杂的数据和各类格式的文件,也就是说XMPP协议不只能够用在人与人之间的交流,并且能够实现软件与软件或软件与人之间的交流,目前支持XMPP协议的即时通信工具备Gtalk、FaceBook IM、Twitter、网易POPO等等通信工具。

协议选型

在以上四种协议中,XMPP协议是最为灵活的,XMPP协议基于XML,所以具备良好的扩展性,通过扩展后的XML协议能够发送扩展信息处理用户的需求,以及在XMPP顶端创建如内容发布系统和基于地址的服务等应用程序。并且XMPP包含了针对服务器的软件协议,使之能与另一个通话,这使得开发者更容易创建客户应用程序或给一个配置好的系统添加功能。

另外,XMPP协议在业界已有成熟的开源实现方案,从开发成本上来说也是颇有优点的。

相关文章
相关标签/搜索