主流IM协议简介

四种主流的IM协议, 

XMPP协议、即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。

XMPP协议:

在这四种协议中,XMPP是最灵活的。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的 可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

XMPP由Jabber软件基金会开发,最早在Jabber上实现。Jabber项目由Jeremie Miller在1998年开始的一个免费、开源的项目,用于提供给MSN、Yahoo!的IM服务。由于XMPP是一种基于XML架构的开放式协议,在 IM通讯中被广泛采用,已经得到了互联网工程任务组(IETF )的批准。

但是,由于XML数据透明的缺陷,XMPP在使用的过程中,还需要努力克服它本身诸如安全方面的缺点。对于网络协同工作者而言,需要加强安全性和互 连性。

 

IMPP协议:

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

SIMPLE协议:

SIMPLE是目前为止制定的较为完善的一个。SIMPLE和XMPP两个协议,都符合RFC2778和RFC2779 。SIMPLE计划利用SIP来发送presence信息。SIP是IETF中为终端制定的协议。SIP一般考虑用在建立语音通话中,一旦连接以后,依靠 如实时协议(RTP)来进行实际上的语音发送。但SIP不仅仅能被用在语音中,也可以用于视频。SIMPLE被定义为建立一个IM进程的方法。 SIMPLE在2002年夏季得到额外的信任,目前,微软和IBM都致力于在它们的即时通讯系统中实现这个协议。 SIMPLE小组致力于进程模式的操作,这将提升运行效率,使基于SIP的机制能够进行会议和三方电话交谈控制,也考虑到能和未来提供的许多新特性实现兼 容并提升表现能力。有了进程模式,SIMPLE使用SIP来建立一次进程,再利用SDP(进程描述协议)来实际传输IM数据。

PRIM协议 :

PRIM与XMPP、 SIMPLE类似,但已经不再使用了。

其他IM协议:

qq协议是二进制的,不开源,不开放.第三方客户端有开源软件LumaQQ(Java) 等
msn协议是文本的,不开源,早期版本开放,msn8以后就封闭了.开源java客户端与类库较多:JMSN等

Google 通过官方宣布,Google Talk 将正式支持不同IM/VoIP服务之间的通讯 。这一服务是建立在Google Talk的通讯协议XMPP协议 基础之上的。

Google Talk基于XMPP,同时允许其它IM自由使用XMPP协议。如此一来,任何IM供应商在遵循XMPP协议的前提下,都可以随时与Google Talk实现免费连接。

Google Talk的这一举措将允许Google Talk用户与Earthlink、Gizmo Project、Tiscali、Netease、Chikka、MediaRing等的客户实现互通。这一服务终于由Google官方确认,可以 说,XMPP协议起到了居功至伟的作用。

时间: 2024-10-25 18:32:34

主流IM协议简介的相关文章

主流开源协议简述

开源 ≠ 免费 开源 ≠ 免费 开源 ≠ 免费,重要的事情说三遍. 一.为何要了解开源协议 Java的强大与崛起,应当说强大的开源生态起了不小的作用.在编程的过程中也或多或少能接触到不少优秀的开源软件.框架, 况且我们又乐于找轮子,因此,了解经常见到的开源协议就有必要了.再者,不了解开源协议,随意使用一个带有限制的协议的开源软件甚至 使用没有任何协议的软件,这就像一颗定时炸弹,随时可能会要了你的命! 二.主流开源协议简介 1.Apache License, 2.0 (Apache-2.0 ) 1

XMPP协议简介

XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP).空间和即时信息协议(PRIM).针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE).      在这四种协议中,XMPP是最灵活的.XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性.因此,基于XMPP的应用具有超强的可

Http协议简介

Http协议简介 HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.HTTP目前协议的版本是1.1.HTTP是一种无状态的协议. 无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息. 1. Http协议通信过程 HTTP遵循请求(Request)/应答(Response)模型.Web浏览器向Web服务器

JavaWeb:01——Web与HTTP协议简介

JavaWeb:01--Web与HTTP协议简介 Web的概念 什么是Web: Web是网络上使用最广泛的分布式应用架构. 旨在共享分布在网络上的各个Web服务器中的所有互相连接的信息. 三个特征: 用HTML来表达信息,以及建立信息与信息之间的链接. 用统一资源定位技术URL来实现网络上信息的准确定位. 用网络应用层协议HTTP来规范浏览器与Web服务器之间的通信过程. WEB的发展历程:略. HTTP协议简介 什么是HTTP协议: HTTP(Hypertext Transfer Protoc

HTTP 协议简介

HTTP 协议简介 博客分类: acl开发--HTTP协议篇 网络协议http协议 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应用层分别为:物理层.链路层.网络层.传输层和应用层,如下图所示: 从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头,数据封装格式如下: 其中,对于TCP传输协议,客户端在于服务器建立连接前需要经过TCP三层握手,过程如下: 二.HTTP协议 2.

蓝海卓越NSWMP管理协议简介

一.背景 蓝海卓越基于自身对无线认证市场需求的发掘,以及对市场上主流Portal协议的深入了解,推出了基于CMCC/华为Portal协议的产品.但在各种Portal和无线认证项目的交付中,蓝海卓越发现基于CMCC和华为Portal协议的无线认证网络存在业务功能缺陷以及各品牌产品之间兼容性的问题,很大程度上影响了项目的实施和交付. 在积累了多达上百个Portal项目实施案例的经验后,充分把握无线认证市场需求,蓝海卓越于近期推出自有的NSWMP管理协议.该协议完全由蓝海卓越自行设计架构,在满足目前市

TCP/IP篇--各协议简介

--百家菜 在学习网络方面的知识过程中,不可避免地要接触到各种协议,对于一开始接触协议的我们来说对于协议实在没有太多的概念和接触,如果你也是这样,那么博主的这一篇博文可能给你一些关于协议的概念.其中的部分介绍为博主自己总结而出,如有欠缺不当的地方,欢迎通过发表评论或线下交流的方式斧正. 关于协议数据的具体格式和数字表示可上网(百度等网站)或者抓包(抓包方式详细见博主的相关博文-<抓包篇--wireshark使用!>,链接http://powersource.blog.51cto.com/113

dhcp协议简介

协议分析 - DHCP协议解码详解 DHCP协议简介 DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议. DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器.DHCP为客户端分配地址的方法有三种:手工配置.自动配置.动态配置. DHCP最重要的功能就是动态分配.除

【网络协议】TCP协议简介

本文只是对TCP协议做个简要的介绍. TCP协议,即传输控制协议,与UDP协议同处于传输层,同样使用相同的网络层,但TCP提供了一种可靠的.面向连接的数据传输服务,它会在两个使用TCP的应用之间建立一个TCP连接,在该连接上进行数据的传输. TCP通过以下方式提供可靠性: 1.应用程序被分割成TCP认为最合适发送的数据块.这点与UDP完全不同,应用程序产生的UDP数据报长度将保持不变,加上IP首部后,才会进行IP分片. 2.当TCP发出一个报文段后,它会启动一个定时器,等待目的端发确认收到这个报