`
lizhuang
  • 浏览: 904245 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

XMPP优点及缺点

 
阅读更多
优点:
XMPP协议是自由、开放、公开的,并且易于了解。而且在客户端、服务器、组件、源码库等方面,都已经各自有多种实现。
互联网工程工作小组(IETF)已经将Jabber的核心XML流协议以XMPP之名,正式列为认可的实时通信及Presence技术。而XMPP的技术规格已被定义在RFC 3920及RFC 3921。任何IM供应商在遵循XMPP协议下,都可与Google Talk实现连接。
第一个Jabber(现在XMPP)技术是Jeremie Miller在1998年开发的,现在已经相当稳定;数以百计的开发者为XMPP技术而努力。今日的互联网上有数以万计的XMPP服务器运作著,并有数以百万计的人们使用XMPP实时传讯软件。
XMPP网络的架构和电子邮件十分相像;XMPP核心协议通信方式是先创建一个stream,XMPP以TCP传递XML数据流,没有中央主服务器。任何人都可以运行自己的XMPP服务器,使个人及组织能够掌控他们的实时传讯体验。
任何XMPP协议的服务器可以独立于公众XMPP网络(例如在企业内部网络中),而使用SASL及TLS等技术的可靠安全性,已内置于核心XMPP技术规格中。
XML命名空间的威力可使任何人在核心协议的基础上建造定制化的功能;为了维持通透性,常见的扩展有XMPP标准基金会。
XMPP除了可用在实时通信的应用程序,还能用在网络管理、内容供稿、协同工具、文件共享、游戏、远程系统监控等。
用XMPP协议来建造及布署实时应用程序及服务的公司及开放源代码计划分布在各种领域;用XMPP技术开发软件,资源及支持的来源是多样的,使得使你不会陷于被“绑架”的困境。[2]

缺点:
随着通常超过70%的XMPP协议的服务器的数据流量的存在和近60%的被重复转发,XMPP协议目前拥有一个大型架空中存在的数据提供给多个收件人。新的议定书正在研究,以减轻这一问题。
XMPP协议的方式被编码为一个单一的长的XML文件,因此无法提供修改二进制数据。因此, 文件传输协议一样使用外部的HTTP。如果不可避免,XMPP协议还提供了带编码的文件传输的所有数据使用的Base64。至于其他二进制数据加密会话(encrypted conversations)或图形图标(graphic icons)以嵌入式使用相同的方法。[2]
分享到:
评论

相关推荐

    基于xmpp协议的多端即时通讯

    4. Xmpp协议缺点:XMPP存在效率较低、消息延时较长等缺点,部分原因在于它的开放性和扩展性导致了协议实现的多样性和复杂性。 5. Xmpp提供电子名片协议:XMPP中的Jabber分布式目录协议(Jabber Distributed Roster ...

    基于xmpp协议的多端即时通讯方案

    ##### 3、Xmpp协议优点 - **开放标准**:XMPP协议是由非营利组织XMPP标准基金会维护的一个开放标准。 - **可扩展性**:由于基于XML,可以轻松扩展以支持新的功能和服务。 - **互操作性**:不同服务提供商之间的系统...

    javasmack源码-xmpp-push-notification:xmpp消息推送

    优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。 缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。 androidpn(Android Push ...

    smack-4.3.4.zip

    是一个开源,易于使用的XMPP(jabber)客户端类库。... 缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大,1台机器只能模拟有限(数千个)客户. smack是一个用 java 写的XMPP客户端代码库, 是 spark 的核心.

    物联网常用协议比较.docx

    本文将对比几种常见的物联网通信协议,包括XMPP、MQTT、SIP、TCP以及CoAP,并分析各自的优缺点。 首先,XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的即时通讯协议,广泛应用于Jabber、Gtalk...

    Android push notification方案比较

    - 缺点:MQTT代理连接数有限,可能影响大规模推送。 4. 长连接与短连接的选择 长连接适合于频繁操作且连接数有限的场景,避免了频繁的TCP握手和释放,提高效率。短连接适用于并发量大但不频繁交互的场景,节省...

    openfire推送

    例如,使用Servlet开发推送插件,虽然技术成熟,完全自定义,但可能没有利用到openfire平台或XMPP协议的特性,即XMPP的协议优点如即时性、可扩展性等。这种方案的开发难度适中,实现推送需要对openfire有深入的了解...

    javasmack源码-Smack-Openfire:我使用Android,包括心跳和自动重新连接

    优点:简单的,功能强大,给用户发送信息只需三行代码便可完成。缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大。 OpenFire是开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的...

    Android:最全面解析Android消息推送解决方案.docx

    优点是提供了一个简单的、轻量级的机制,但缺点是依赖于 Google 官方提供的 C2DM 服务器,在国内使用 Google 服务需要访问外国网站,成本较大。 2. 轮询 轮询是基于 Pull 方式的解决方案,应用程序隔固定时间主动...

    smack jar 文件

    smack jar 文件 Smack是一个开源,易于使用的XMPP... 缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大,1台机器只能模拟有限(数千个)客户. smack是一个用 java 写的XMPP客户端代码库, 是 spark 的核心.

    android 即时通讯(引用asmack)BeemJingle源码

    aSmack API, 是一个 Java 的XMPP... 优点:编程简单。 缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大,1台机器只能模拟有限(数千个)客户.  asmack是一个用 java 写的XMPP客户端代码库, 是 spark 的核心.

    物联网四大协议.pdf

    - **优点**: 自由、开放、公开,易于理解和实现,有丰富的客户端和服务器实现。 - **缺点**: 数据冗余率高,不适合低功耗和低带宽的物联网设备,因为网络流量主要消耗在协议层。 2. **MQTT (Message Queuing ...

    采用MQTT协议实现Android消息推送.docx

    然而,它的局限性也很明显,仅支持Android 2.2及以上版本,且在中国地区稳定性欠佳,需要用户绑定Google账户,这在国内市场可能造成使用不便。 其次,XMPP协议,一种基于XML的通信协议,广泛应用于聊天系统。XMPP...

    two-way-android-messenger

    这种方式的优点在于灵活性高,但缺点是需要更多的手动工作和维护。 **XMPP协议** XMPP是一种基于XML的开放标准,广泛用于即时通讯。它提供了一种标准化的方式来创建和管理用户身份、在线状态、聊天室等。在Android...

    安卓网络电话

    在安卓设备上,VoIP应用程序通常会使用如SIP(Session Initiation Protocol)或XMPP(Extensible Messaging and Presence Protocol)等协议来建立和管理通信会话。 二、安卓网络电话的实现 1. 应用程序开发:在...

    Instant Messaging in JAVA

    - **Security**:通过TLS/SSL加密和XMPP认证,确保了通信的安全性。 - **Extensibility**:基于XML的特性,开发者可以轻松地添加新的功能和服务。 #### 缺点 - **Complexity**:相对于其他协议,Jabber的XML格式...

    androidpn:Android的推送通知服务

    优点: - 开源:允许开发者根据需求进行定制和扩展。 - 实时性:基于XMPP的推送服务确保消息的即时传递。 - 节省资源:应用程序可以在后台运行,不占用过多系统资源。 缺点: - 需要服务器支持:部署和维护服务器...

    即时通信系统(Java实现)

    自定义协议的优点是灵活性高,但缺点是需要自行处理解析和序列化。 2. **标准协议**:使用如XMPP(Extensible Messaging and Presence Protocol)这样的标准协议可以简化开发,因为有成熟的开源库如Smack支持。XMPP...

    mq产品对比

    - **ActiveMQ**支持多种协议,如OpenWire、STOMP、REST、XMPP、AMQP等,这使得它可以与其他系统轻松集成。 - **RabbitMQ**主要支持AMQP协议,这是一种开放标准的协议,可以实现不同系统间的通信。 - **RocketMQ**...

    Android 推送原理(Android Push Notification)详解

    这种方法的优点是实时性较好,但成本较高,因为需要支付短信费用,可能不适合大规模应用。 3. TCP/IP持久连接:这是最常见也是最有效的方式,通过建立与服务器的持久TCP连接,一旦服务器有新的消息,可以直接推送给...

Global site tag (gtag.js) - Google Analytics