- 浏览: 184381 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
arpenker:
这个命令行运行的前提是要基于LINUX服务器能够自己手动安装F ...
linux java转amr为mp3 -
smith789:
使用的类都废弃了
HttpUtil工具类 -
s21109:
自定义TabHost之手势切换Tab视图(不带动画)
即时通讯四种协议简述 (转)
IM(Instant Messaging)正在被广泛地采用,特别是在公司与它们的客户互动联接方案上。为了解决即时通讯的标准问题,IETF成立了专门的工作小组,研究和开发与IM相关的协议。
目前IM有四种协议:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP。PRIM与XMPP、 SIMPLE类似,但已经不再使用了。
IMPP主要定义必要的协议和数据格式,用来构建一个具有空间接收、发布能力的即时信息系统。到目前为止,这个组织已经出版了三个草案RFC,但主要的有两个:一个是针对站点空间和即时通讯模型的(RFC 2778);另一个是针对即时通讯/空间协议需求条件的(RFC2779)。RFC2778是一个资料性质的草案,定义了所有presence和IM服务的原理。RFC2779定义了IMPP的最小需求条件。另外,这个草案还就presence服务定义了一些条款,如运行的命令、信息的格式,以及presence服务器如何把presence的状态变化通知给客户。
SIMPLE是目前为止制定的较为完善的一个。SIMPLE和XMPP两个协议,都符合RFC2778和RFC2779 。SIMPLE计划利用SIP来发送presence信息。SIP是IETF中为终端制定的协议。SIP一般考虑用在建立语音通话中,一旦连接以后,依靠如实时协议(RTP)来进行实际上的语音发送。???但SIP不仅仅能被用在语音中,也可以用于视频。SIMPLE被定义为建立一个IM进程的方法。SIMPLE在2002年夏季得到额外的信任,目前,微软和IBM都致力于在它们的即时通讯系统中实现这个协议。
SIMPLE小组致力于进程模式的操作,这将提升运行效率,使基于SIP的机制能够进行会议和三方电话交谈控制,也考虑到能和未来提供的许多新特性实现兼容并提升表现能力。有了进程模式,SIMPLE使用SIP来建立一次进程,再利用SDP(进程描述协议)来实际传输IM数据。
XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。这表明XMPP是可扩展的。可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
XMPP目前在免费源代码开放Jabber IM系统中被广泛采用。2002年,这个产品有超过5万的下载量。XMPP拥有成千的Jabber开发者,以及大约数万台配置的服务器和超过百万的终端用户。
在XMPP能够成为标准前,还需要努力克服它本身的缺点。对于网络协同工作者而言,需要加强安全性和互连性。
其实, 现在主要是SIP/SIMPLE 和 XMPP了. 原来还有一个OMA IMPS WV, 慢慢将被SIP/SIMPLE代替了. 现在OMA, 3GPP感觉都已经接受SIP/SIMPLE了. 估计, 将来都会采用这么一个标准进行互连, 由servers解决各种标准的互通问题.
这样, 对应operator也是很好的了, 他们可以基于开放的标准进行实施, 同时, 把事实的各种private的用户很多的标准的用户包含进他们的用户里面.
就象现在世界上的各种各样的语言存在一样, 由English可以完成互通, servers/翻译完成语言之间的转换.
XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。
在这四种协议中,XMPP是最灵活的。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
1、什么是XMPP ?
XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;
核心的XML流传输协议
基于XML流传输的即时通讯扩展应用
XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。
XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。
2、XMPP的基本网络结构是怎样的?
XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。
3、XMPP通过TCP传什么了?
传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行苻的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,人也容易阅读了,方便了开发和查错。而XMPP的核心部分就是一个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说,XMPP用TCP传的是XML流。
IM(Instant Messaging)正在被广泛地采用,特别是在公司与它们的客户互动联接方案上。为了解决即时通讯的标准问题,IETF成立了专门的工作小组,研究和开发与IM相关的协议。
目前IM有四种协议:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP。PRIM与XMPP、 SIMPLE类似,但已经不再使用了。
IMPP主要定义必要的协议和数据格式,用来构建一个具有空间接收、发布能力的即时信息系统。到目前为止,这个组织已经出版了三个草案RFC,但主要的有两个:一个是针对站点空间和即时通讯模型的(RFC 2778);另一个是针对即时通讯/空间协议需求条件的(RFC2779)。RFC2778是一个资料性质的草案,定义了所有presence和IM服务的原理。RFC2779定义了IMPP的最小需求条件。另外,这个草案还就presence服务定义了一些条款,如运行的命令、信息的格式,以及presence服务器如何把presence的状态变化通知给客户。
SIMPLE是目前为止制定的较为完善的一个。SIMPLE和XMPP两个协议,都符合RFC2778和RFC2779 。SIMPLE计划利用SIP来发送presence信息。SIP是IETF中为终端制定的协议。SIP一般考虑用在建立语音通话中,一旦连接以后,依靠如实时协议(RTP)来进行实际上的语音发送。???但SIP不仅仅能被用在语音中,也可以用于视频。SIMPLE被定义为建立一个IM进程的方法。SIMPLE在2002年夏季得到额外的信任,目前,微软和IBM都致力于在它们的即时通讯系统中实现这个协议。
SIMPLE小组致力于进程模式的操作,这将提升运行效率,使基于SIP的机制能够进行会议和三方电话交谈控制,也考虑到能和未来提供的许多新特性实现兼容并提升表现能力。有了进程模式,SIMPLE使用SIP来建立一次进程,再利用SDP(进程描述协议)来实际传输IM数据。
XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。这表明XMPP是可扩展的。可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
XMPP目前在免费源代码开放Jabber IM系统中被广泛采用。2002年,这个产品有超过5万的下载量。XMPP拥有成千的Jabber开发者,以及大约数万台配置的服务器和超过百万的终端用户。
在XMPP能够成为标准前,还需要努力克服它本身的缺点。对于网络协同工作者而言,需要加强安全性和互连性。
其实, 现在主要是SIP/SIMPLE 和 XMPP了. 原来还有一个OMA IMPS WV, 慢慢将被SIP/SIMPLE代替了. 现在OMA, 3GPP感觉都已经接受SIP/SIMPLE了. 估计, 将来都会采用这么一个标准进行互连, 由servers解决各种标准的互通问题.
这样, 对应operator也是很好的了, 他们可以基于开放的标准进行实施, 同时, 把事实的各种private的用户很多的标准的用户包含进他们的用户里面.
就象现在世界上的各种各样的语言存在一样, 由English可以完成互通, servers/翻译完成语言之间的转换.
XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。
在这四种协议中,XMPP是最灵活的。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
1、什么是XMPP ?
XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;
核心的XML流传输协议
基于XML流传输的即时通讯扩展应用
XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。
XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。
2、XMPP的基本网络结构是怎样的?
XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。
3、XMPP通过TCP传什么了?
传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行苻的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,人也容易阅读了,方便了开发和查错。而XMPP的核心部分就是一个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说,XMPP用TCP传的是XML流。
发表评论
-
解决ScrollView中嵌套ListView或RecycleView卡顿问题
2016-01-20 02:23 1921解决问题:<listview上下滑动卡顿> 只要 ... -
解决Eclipse启动速度过慢的问题
2016-01-13 20:20 2459Delete the following directory: ... -
Android,iOS打开手机QQ与指定用户聊天界面
2016-01-07 18:19 1751在浏览器中可以通过JS代码打开QQ并弹出聊天界面,一般作为客服 ... -
Android Studio debug使用release的签名
2015-12-09 17:50 1244当我们在做微信微博sdk分享的时候调试非常麻烦,因为要使用对应 ... -
解决Android SDK Manager更新、下载速度慢
2015-10-12 16:39 613转自: [urlhttp://blog.163.com/bob ... -
android httpClient 支持HTTPS的2种处理方式
2015-09-11 17:37 1305http://my.oschina.net/blackylin ... -
带进度条的WebView
2015-08-29 16:53 591public class ProgressWebView ex ... -
Android中javascript和java互相调用
2015-08-29 16:06 581http://www.jb51.net/article/599 ... -
仿微信朋友圈点击图片变暗
2015-08-20 22:35 1004import android.content.Context; ... -
Android图片缓存框架Fresco极其强大的配置
2015-07-20 21:12 1293Android图片缓存框架Fresco极其强大的配置,配置强大 ... -
Android实现ViewPager+RadioGroup滑动效果
2015-07-19 15:05 1202有滚动标识的滑动条,顺畅无比哦 -
Android实现可用性非常高的滚动数字条
2015-07-18 15:48 5051对外提供接口,可以是调用并改变数字滚动条的样式 -
Java实现二维码生成和解析代码
2015-07-05 16:36 1023请下载附件,查看代码 -
利用zxing-core.jar生成和解析二维码
2015-07-05 15:30 1538Zxing是Google提供的关于条码(一维码、二维码)的解析 ... -
Android-webview和js脚本语言交互的时候怎么获取js方法的返回值
2015-07-02 12:10 2074http://zhidao.baidu.com/questio ... -
JS判断手机端是否安装了某个客户端APP应用
2015-05-15 17:02 3302最近在做项目的wap版,有个需求就是,先判断手机上是否有我们的 ... -
Android选图裁剪实现
2015-04-29 18:22 498看附件顶顶顶顶顶 -
Eclipse转AS必看设置
2015-04-26 00:01 1410常用设置: 1.Tab不用4个空格 Code Style-& ... -
android软键盘挤压界面的问题解决方法
2015-04-09 11:59 2808AndroidManifest.xml 中设置 android ... -
MultipleImagePick 从相册中选择图片,可以单选和多选。
2015-04-08 10:28 2083http://jcodecraeer.com/a/openso ...
相关推荐
基于TCP协议的简单即时通信软件的设计与实现
从网上down的XMPP协议文档,doc格式
主流即时通讯软件通信协议分析,包括ICQ Yahoo! MAN等
基于TCP协议的简单即时通信软件的设计与实现(含源文件).pdf基于TCP协议的简单即时通信软件的设计与实现(含源文件).pdf基于TCP协议的简单即时通信软件的设计与实现(含源文件).pdf基于TCP协议的简单即时通信软件的设计...
四种主流的IM协议, XMPP协议、即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。 本文是PRIM协议。
即时通讯是一个终端连往一个通讯网路的服务类软件。即时通讯不同於e-mail在於它的交谈是即时的。我们日常生活已经开始离不开即时通讯了,那么,即时通讯到底... 目前IM有四种协议:即时信息和空间协议(IMPP)、空间和即
即时通讯是一个终端连往一个通讯网路的服务类软件。即时通讯不同於e-mail在於它的交谈是即时的。我们日常生活已经开始离不开即时通讯了,那么,即时通讯到底... 目前IM有四种协议:即时信息和空间协议(IMPP)、空间和即
主流即时通信协议分析,对协议分析可能会有所帮助
基于ajax的即时通讯系统例子。
基于TCPIP协议的即时通信软件 基于TCPIP协议的即时通信软件 基于TCPIP协议的即时通信软件 基于TCPIP协议的即时通信软件 基于TCPIP协议的即时通信软件 基于TCPIP协议的即时通信软件 基于TCPIP协议的即时通信软件 基于...
agsXMPP\XMPP协议--即时通讯工具实现原理
This document defines extensions to core features of the Extensible Messaging and Presence Protocol (XMPP) that provide basic instant messaging (IM) and presence functionality in conformance with ...
JAVA开发高性能IM即时通信系统源码,JAVA语言开发的轻量、高性能、单机支持几十万至百万在线用户IM,主要目标降低即时通讯门槛,快速打造低成本接入在线IM系统,通过极简洁的消息格式就可以实现多端不同协议间的消息...
根据主流即时通软件通信数据明文传输的特点,利用网络捕包工具,采用逆推的方法,分析目前流行的即时通软件不公开且不统一的文本消息传输协议。着重描述了ICQ文本消息传输协议的格式,并且对ICQ、AIM、MSN、雅虎通几...
一个基于UDP协议的P2P即时通讯软件的设计与实现,KDN文档,论文
基于XMPP协议的手机多方多端即时通讯方案,包括详细的介绍和解决方案
即时通信协议分析与监控技术研究 分析主流IM软件协议 以及监控技术的研究
ASP.NET基于TCP协议的简单即时通信软件的设计与实现(源代码+论文).zip
window phone 基于XMPP协议的即时通讯
用JAVA语言,基于t-io开发的轻量、高性能、单机支持几十万至百万在线用户IM,主要目标降低即时通讯门槛,快速打造低成本接入在线IM系统,通过极简洁的消息格式就可以实现多端不同协议间的消息发送如内置(Http、...