xmpp协议的定义?

XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。

因此。基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP能够通过发送扩展的信息来处理用户的需求。以及在XMPP的顶端建立如内容公布系统和基于地址的服务等应用程
序。

并且,XMPP包括了针对server端的软件协议,使之能与还有一个进行通话,这使得开发人员更easy建立客户应用程序或给一个配好系统加入功能。

在此我概括一下xmpp协议的优缺点:

长处:

  1. XMPP协议是自由、开放、公开的,并且易于了解。并且在client、server、组件、源代码库等方面,都已经各自有多种实现。

  2. 互联网project工作小组(IETF)已经将Jabber的核心XML流协议以XMPP之名。正式列为认可的实时通信及Presence技术。而XMPP的技术规格已被定义在RFC 3920及RFC 3921。不论什么IM供应商在遵循XMPP协议下,都可与Google Talk实现连接。

  3. 第一个Jabber(如今XMPP)技术是Jeremie Miller在1998年开发的,如今已经相当稳定;数以百计的开发人员为XMPP技术而努力。今日的互联网上有数以万计的XMPPserver运作著。并有数以百万计的人们使用XMPP实时传讯软件。

  4. XMPP网络的架构和电子邮件十分相像;XMPP核心协议通信方式是先创建一个stream,XMPP以TCP传递XML数据流,没有中央主server。

    不论什么人都可以执行自己的XMPPserver,使个人及组织可以掌控他们的实时传讯体验。

  5. 不论什么XMPP协议的server能够独立于公众XMPP网络(比如在企业内部网络中),而使用SASL及TLS等技术的可靠安全性,已内置于核心XMPP技术规格中。

  6. XML命名空间的威力可使不论什么人在核心协议的基础上建造定制化的功能。为了维持通透性,常见的扩展有XMPP标准基金会。

  7. XMPP除了可用在实时通信的应用程序。还能用在网络管理、内容供稿、协同工具、文件共享、游戏、远程系统监控等。

  8. 用XMPP协议来建造及部署实时应用程序及服务的公司及开放源码计划分布在各种领域;用XMPP技术开发软件。资源及支持的来源是多样的,使得使你不会陷于被“绑架”的困境;

  9. 缺点:

    1. 随着通常超过70%的XMPP协议的server的数据流量的存在和近60%的被反复转发。XMPP协议眼下拥有一个大型架空中存在的数据提供给多个收件人。

      新的议定书正在研究,以减轻这一问题。

    2. XMPP协议的方式被编码为一个单一的长的XML文件,因此无法提供改动二进制数据。

      因此。 文件传输协议一样使用外部的HTTP。假设不可避免,XMPP协议还提供了带编码的文件传输的全部数据使用的Base64。至于其它二进制数据加密会话(encrypted conversations)或图形图标(graphic icons)以嵌入式使用同样的方法。

1
0

xmpp即时通讯协议的特性---长处和缺点!的更多相关文章

  1. XMPP即时通讯协议使用(前传)——协议详解

    XMPP详解 XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议.在此基础上,XMPP ...

  2. XMPP即时通讯协议使用(七)——利用Strophe实现WebIM及strophe.plugins插件使用

    Strophe简介与Openfire配置 Strophe.js是为XMPP写的一个js类库.因为http协议本身不能实现持久连接,所以strophe利用BOSH模拟实现持久连接. 官方文档: http ...

  3. XMPP即时通讯协议使用(三)——订阅发布、断开重连与Ping

    package com.testV3; import java.util.List; import org.jivesoftware.smack.ConnectionListener; import ...

  4. XMPP即时通讯协议使用(六)——开发Openfire聊天记录插件

    转载地址:http://www.cnblogs.com/hoojo/archive/2013/03/29/openfire_plugin_chatlogs_plugin_.html 开发环境: Sys ...

  5. XMPP即时通讯协议使用(十二)——基于xmpp搭建简单的局域网WebRTC

    创建HTML和JS ofwebrtc.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" ...

  6. XMPP即时通讯协议使用(十)——好友关系状态

    sub  ask  recv 订阅 询问 接受 含义 substatus -1-  应该删除这个好友          Indicates that the roster item should be ...

  7. XMPP即时通讯协议使用(四)——Openfire服务器源码编译与添加消息记录保存

    下载Openfire源码 下载地址:https://www.igniterealtime.org/downloads/index.jsp,当前最新版本为:4.2.3 Eclipse上部署Openfir ...

  8. XMPP即时通讯协议使用(一)——Openfire安装

    Openfire服务器安装 下载地址:https://www.igniterealtime.org/downloads/index.jsp,根据你的操作系统,选择对应的下载版本.本文选择的是openf ...

  9. XMPP即时通讯协议使用(十三)——获取当前在线用户或关闭指定用户

    1.开启REST API插件或根据需求修改其插件源码: 2.添加服务器->服务器管理->系统属性中添加 plugin.restapi.enabled=true 3.pom依赖 <de ...

随机推荐

  1. 「微信小程序」有哪些冲击与机会?

    昨天晚上相信大家的朋友圈被「微信小程序」刷屏了,这影响力赶上了国务院出台新政策一样,足以说明微信在中国的影响力之大. 然后今天公号后台一大堆人问我怎么看这件事,不少人非常忧虑,仿佛自己将要失业一样. ...

  2. 将 php 转换/编译为 EXE

    将 php 转换/编译为 EXE 本文仅仅是将原文用谷歌作了翻译,原文来源于 http://stackoverflow.com 资料来源  http://stackoverflow.com/quest ...

  3. bind()和trigger()额外数据

    $(function(){ $('input').click(function(e,data1,data2,data3,data4){ alert(data1 + '|' + data2 + '|' ...

  4. POJ 2427 Smith's Problem Pell方程

    题目链接 :  http://poj.org/problem?id=2427 PELL方程几个学习的网址: http://mathworld.wolfram.com/PellEquation.html ...

  5. 【Uva 11080】Place the Guards

    [Link]: [Description] 一些城市,之间有道路相连,现在要安放警卫,警卫能看守到当前点周围的边,一条边只能有一个警卫看守,问是否有方案,如果有最少放几个警卫. [Solution] ...

  6. SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例

    第一: 本demo在一个机器上实现(三个虚拟主机),来看SSO单点登录实例(我们可以布到多个机器上使用都是同一个道理的),一个服务器主机,和两个客户端虚拟主机 [html] view plaincop ...

  7. 浅谈Git与SVN的使用感受

    作为版本号控制工作.两者的做大的差别应该在于:Git属于分布式版本号控制工具,而SVN属于集中式的版本号控制工具.分布式的优点是什么呢?举个样例来说.当你在火车上离线状态下编程工作,在某个阶段会须要先 ...

  8. Java开源电商项目比較

    这里比較的都是国外的开源项目,备选项目有: Smilehouse Workspace.Pulse.Shopizer.ofbiz.bigfish.broadleaf 1.Smilehouse Works ...

  9. 【Codeforces Round #446 (Div. 2) A】Greed

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 贪心选容量大的瓶子就好 [代码] #include <bits/stdc++.h> #define int long l ...

  10. MyCat:对MySQL数据库进行分库分表

    本篇前提: mycat配置正确,且能正常启动. 1.schema.xml <table>标签: dataNode -- 分片节点指定(取值:dataNode中的name属性值) rule ...