zoukankan      html  css  js  c++  java
  • 主流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协议起到了居功至伟的作用。

  • 相关阅读:
    centos6.8安装单机spark2.2.3
    centos6.8安装单机hadoop2.7.2
    Centos6.8系统安装mysql5.7.17
    VMware虚拟机 取消 简易安装(转)
    qt开发ROS gui界面环境配置过程总结
    QT开发ROS遇到问题:execute_process(/usr/bin/python"/home/fu/catkin_ws/build/catkin_genetated/generate_cached_setup.py)..........
    卸载ROS命令
    ROS开发过程中遇到:Could not find a package configuration file provided by "qt_build" with any of the following names: qt_buildConfig.cmake qt_build-config.cmake........
    创建ROS 工作空间时出现:程序“catkin_init_workspace”尚未安装,程序“catkin_make”尚未安装。
    qt开发ROS遇到这个问题 find_package(catkin) failed. catkin was neither found in the workspace nor in the CMAKE_PREFIX_PATH...
  • 原文地址:https://www.cnblogs.com/dubo-/p/5586037.html
Copyright © 2011-2022 走看看