这些通用属性,像三种节的基本语义一样,都定义在此;与即时消息与表示应用相关的XML节的更详细信息在[XMPP-IM]中提供。...参考处理XML节(10节)的服务器规则,用于通用路由与相关 XML节的传送规则,并且用于即时消息与出席应用的出席-特定规则[XMPP-IM]。...XMPP内的XML使用 11.1 约束 XMPP是流XML元素的一个简单与特殊的协议,用来近实时的交换结构化信息。...由于XMPP不需要任意分析与完整XML文档,这儿没有XMPP需要支持[XML]全特征的需求。特别的,以下约束应用。 ...确保XMPP-兼容XML是命名空间-了解使任意允许的XML能够与XMPP中的任意数据元素结构化的混合。XML命名空间名与前缀的规则定义在以下子部分。
4.3 流安全 当在XMPP1.0中协商XML流时,TLS应当按TLS应用(第5节)所定义的来使用,SASL必须按SASL(第6节)所定义的来使用。...1.0 support | signals XMPP 1.0 support 4.4.1版本支持 XMPP版本在此指定为“1.0”,特别的,这封装了流相关协议(TLS应用(5),SASL...XMPP版本的编号方案是“.”。Major与minor数字必须作为分离的整数对待,并且每个数字可能并不按单数字增加。...因此"XMPP 2.4"是一个比"XMPP 2.13"低的版本,依次低于"XMPP 12.3"。前导零(例如:"XMPP 6.01")必须被接收者忽略并不准发送。 ...用于STARTTLS扩展的命名空间名是'urn:ietf:params:xml:ns:xmpp-tls'。
6.1 概述 XMPP包含一个认证流的方法,此方法依靠一个简单认证与安全层(SASL)协议[SASL]的XMPP-specific profile。...SASL提供一个一般化方法,用于给基于连接的协议加认证支持,并且,XMPP使用一个一般化XML命名空间profile,用于 SASL,遵从[SASL]的profiling需求。 ...层顺序为:首先是[TCP],然后是[TLS],然后是[SASL],然后是 XMPP。 ...使用授权身份:授权身份可以被XMPP用于指示客户端非缺省或服务器发送。...8.服务器回叫 8.1概述 Jabber协议来自于XMPP适用的,包含一个“服务器回叫”方法,用以保护免受域哄骗,因此,使哄骗XML节更困难。
当XMPP为交换XML数据提供一般化,可扩展的框架时,它主要用于建立满足RFC2779的即时消息与出席应用的需求。...作为XMPP工作组的成果,此文档定义了XMPP 1.0的核心内容;提供即时消息与出席功能的扩展需求定义在RFC2779[IM-REQS]中,由XMPP:即时消息与出席[XMPP-IM]指定。...=FC1 符号表示如下: 1) C1,C2,C3 = XMPP客户端 2) S1,S2 = XMPP服务器 3) G1 = 网关:在XMPP与外部协议(非XMPP)的消息网络间转换。...大多数与XMPP兼容的服务器设想有能力存储客户端的数据(例:基于XMPP即时消息与出席应用的用户的联系列表);在这种情况下,XML数据由服务器自身代表客户端直接处理,并不路由到其它实体。...2.4 网关 网关是服务器端的一种特殊服务,它的主要功能是将XMPP翻译成外部消息系统所使用的协议(非XMPP),也可将数据翻译回XMPP。
演讲的主题是XMPP:一种模块化协议。演讲内容主要包括XMPP协议的核心和扩展两方面内容。 Winfried首先分别介绍了XMPP的核心协议和扩展协议的特点。...核心协议饰演了XMPP的一些基本功能,由IETF和IANA负责伟华,并且在RFC’s上发布。...XMPP协议的扩展部分也被称为XEPs,是我们可以根据自主的需求添加到核心协议上的,并且不对隐私性有任何的限制。...Winfried接着介绍了XMPP的框架结构,并介绍了XMPP标准制定的核心组织:XSF(XMPP Standards Foundation),并对XSF指定标准的流程进行了一个简单的介绍。
标准化的核心结果分为两部分: (1)核心的XML流传输协议 (2)基于XML流传输的即时通讯扩展应用 XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上,借助于XML...XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其它业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。...3、XMPP通过TCP传输什么 传输的是与即时通讯相关的指令。...在以前这些命令要么用二进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行苻的方式发送(比如MSN),而 XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。...而 XMPP的核心部分就是一个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。
即时通讯协议对比 业界上用来做即时通讯的解决方案有:1. 基于http 的轮询; 2. 基于websocket 长连接; 3....1.1.3 XMPP 可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。...XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。 XMPP的出现背景是为了解决ICQ, MSN等桌面聊天应用消息协议互不相通的局面出现的。...当"理想很好,现时很骨感", XMPP在现代越来越不被当做作主流的聊天协议来使用,甚至一些大厂逐渐弃用了XMPP, 原因有以下几点: 使用XML为载荷的XMPP消息体很大; XMPP的协议贪大求全,太过复杂...1.3 本章总结 本章主要介绍了市面上可供即时通讯选型的多种技术方案,包括http, Websocket, xmpp, mqtt, socket.io 以及自定义的TCP/UDP协议等。
openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等。
SIP(SIMPLE) 原理 XMPP中定义了三个角色,分别是客户端、服务器和网关 客户端 1....通过 TCP/IP与XMPP 服务器连接,然后在之上传输与即时通讯相关的指令(XML); 2. 解析组织好的 XML 信息包; 3. 理解消息数据类型。...XMPP的核心:XML流传输协议(在网络上分片断发送XML的流协议),也是即时通讯指令的传递基础,即XMPP用TCP传的是XML流 与即时通讯相关的指令,在以前要么用2进制的形式发送(比如QQ),...XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本 服务器 1. 监听客户端连接,并直接与客户端应用程序通信(客户端信息记录) 2....源码实例:有一个很棒的基于XMPP协议的java开源Android push notification:Androidpn项目地址,大家有兴趣可以去看看 更多关于XMPP协议更加详细请点击 4.6
XMPP是一个用于通讯和表示的开放标准协议。从本质上讲,它是一个允许实体交换信息和进行聊天的协议。 XMPP就在我们身边……比我们想象的要多得多。...WhatsApp使用了XMPP的一个变种,Zoom使用XMPP以及一些扩展来实现其聊天功能。XMPP是一些最常用和最著名的应用程序的背后技术。那么,XMPP是如何工作的呢?...XMPP利用了TCP。我们可以说XMPP是一个使用TCP作为底层L4协议的L7协议(就像HTTP)。 到这里为止,XMPP可能看起来就像任何其它协议一样,将消息带入其有效负载。...关于后面一点,请看以下链接,了解这些年发展了多少扩展: https://xmpp.org/extensions/ XMPP与TF如何共同工作 让我们简单看下XMPP对话是如何工作的吧!...XMPP也被用来携带配置信息(我们将在后面看到这意味着什么)。这里的关键概念是,XMPP既是一个信令协议,也是一个配置协议。 如何转化为XMPP术语呢?
,分为tcp和udp两种形式 常见的术语 xmpp:基于xml的可拓展协议. jabber:xmpp的前身. openfire:支持xmpp的开源服务器 smack.jar:对xmpp协议封装.方便开发的...jar包. spark.exe:基于xmpp的pc客户端; asmack.jar:smack.jar的精简版.专门针对android端开发 xmpp的认识. xmpp官网:http://xmpp.org...XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。 xmpp特点: 开放: XMPP协议是自由、开放、公开的,并且易于了解。...分散式: XMPP网络的架构和电子邮件十分相像;XMPP核心协议通信方式是先创建一个stream,XMPP以TCP传递XML数据流,没有中央主服务器。...安全: 任何XMPP协议的服务器可以独立于公众XMPP网络(例如在企业内部网络中),而使用SASL及TLS等技术的可靠安全性,已自带于核心XMPP技术规格中。
在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的。所以还是想在这个领域多多了解一下。 XMPP协议:具体的概念我就不写了,毕竟这东西网上到处是。...就是给即时通讯制定了标准,大家只要遵守标准就可以完成即时通信的功能。有了标准的好处就是可以有各种不同的实现,大家在这个标准上发展自己的特长。而且还给即时通信提供了互联互通的基础。...XMPP协议据网上说还是比较优秀的,表现就是google等大公司都在自己的即时通讯产品上。 openfire:是我在这个万花丛中找到的一点红。...毕竟之前没有做过即时通讯的产品,这一下子还真有点拿不到点。于是只好一个个去接触了解。经过了解真正能拿来商用的东西不多,只能自己去定制开发。...这里有个XMPP的官方网站可以看看:http://xmpp.org/software,这里列举了一些现有的产品和开发包。包括Clients,Servers,Libraries,Projects。
openfire: Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。您可以使用它轻易的构建高效率的即时通信服务器. ...xmpp:The Extensible Messaging and Presence Protocol 中文全称:可扩展通讯和表示协议 可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的...XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。...XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。...标准化的核心结果分为两部分; 核心的XML流传输协议 基于XMLFreeEIM流传输的即时通讯扩展应用 2、搭建开发环境 2.1 在eclipse中安装pydev插件 eclipse版本为myeclipse2014
,是基于可扩展标记语言(XML)的协议,是目前主流的四种IM协议之一 其他三种: 即时信息和空间协议(IMPP) 空间和即时信息协议(PRIM) 即时通讯和空间平衡扩充的进程开始协议SIP...(SIMPLE) 原理 XMPP中定义了三个角色,分别是客户端、服务器和网关 客户端 通过 TCP/IP与XMPP 服务器连接,然后在之上传输与即时通讯相关的指令(XML); 解析组织好的...XMPP的核心:XML流传输协议(在网络上分片断发送XML的流协议),也是即时通讯指令的传递基础,即XMPP用TCP传的是XML流 与即时通讯相关的指令,在以前要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送...XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。...源码实例:有一个很棒的基于XMPP协议的java开源Android push notification:Androidpn项目地址,大家有兴趣可以去看看 更多关于XMPP协议更加详细请点击 4.6
在Demo中,XMPP接收发送消息这一块的代码我暂时是删除了,仿照微信的聊天框架是在的,你要想通过XMPP自己在项目中试试,你需要的也就是在Demo中集成XMPP,然后写一下它的链接和接收/发送方法,其实也很简单...(IM)在iOS这片江湖里面已经算是一个老者了,我这小旋风也是在很早以前巡山的时候,就知道有即时通讯这个妖怪,以前也多多少少接触过一些,在造App的时候用过,怎么可以用“造”这个词,说着说着就感觉要跑题了...说回正题,我知道的即时通讯有用 CocoaAsyncSocket 还有 XMPPFramework 实现的,当然也有现在也有大部分接入环信等等三方的。...二: XMPP协议 了解XMPP到底是什么,我知道可能有许多刚PX出来的宝宝们,也经常听到会用XMPP做即时通讯,那你知道 XMPP 到底是什么吗?...NOTE: 在这里只是这样简单的说了一下这几个知识点,在最上面更新的两篇文章的第一篇中有细细总结即时通讯该怎样去选择,怎样做的问题!
XMPP全称:可扩展通讯和表示协议 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。...XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。...XMPP is the IETF's formalization of the base XML streaming protocols for instant messaging and presence...关于什么是XMPP就不再多讲了,如正题:支持XMPP协议的服务端有很多种: ? 我们要讲的就是比较流行的Openfire服务器。...接下来的几篇文章,本人将讲解安卓基于xmpp+asmack+Openfire实现即时通讯聊天的过程,敬请期待!
tcp和udp两种形式 常见的术语 xmpp:基于xml的可拓展协议. jabber:xmpp的前身. openfire:支持xmpp的开源服务器 smack.jar:对xmpp协议封装.方便开发的jar...包. spark.exe:基于xmpp的pc客户端; asmack.jar:smack.jar的精简版.专门针对android端开发 xmpp的认识. xmpp官网:http://xmpp.org/...XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。 xmpp特点: 开放: XMPP协议是自由、开放、公开的,并且易于了解。 ...分散式: XMPP网络的架构和电子邮件十分相像;XMPP核心协议通信方式是先创建一个stream,XMPP以TCP传递XML数据流,没有中央主服务器。 ...安全: 任何XMPP协议的服务器可以独立于公众XMPP网络(例如在企业内部网络中),而使用SASL及TLS等技术的可靠安全性,已自带于核心XMPP技术规格中。
这个方案如果要自己实现的话需要定制一套消息协议了,这个实现方法比较多,对于XMPP来说发message、iq都可以。...柳暗花明 在看别人的总结时发现XMPP有扩展协议是支持消息回执功能的,就是XEP-0184.了解下来这个协议确实是一套消息回执的实现方法,但是呢。。...这就突然发现又一村原来在这啊,XMPP毕竟最开始是基于TCP协议的,可以在流的基础上完成消息到达回执。它的特征也表明了这点,一是可以做消息确认,保证消息是否被另一方接收。...没想到XMPP协议已经支持了整个流程,省去了很多事情,同时openfire中websocket也是支持xep-198,所以手机端应该也是可以支持。...参考与引用 http://developerworks.github.io/2014/10/03/xmpp-xep-0198-stream-management/ http://blog.csdn.net
介绍 XMPP框架分成两部分 XMPPCore 拓展 XEP XMPPCore 的类 XMPPStream XMPPParser XMPPJID XMPPElement XMPPIQ XMPPMessage...XMPPPresence XMPPModule XMPPLogging XMPPInternal XMPPStream XMPPStream XMPPStream是xmpp的核心,这是你需要接触的主要类...XMPPElement XMPPElement 是基本的类,用于三种主要的XMPP 元素 XMPPIQ,XMPPMessage 和XMPPPresence。...NSObject XMPPPresence -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObjec NSXML 有一个NSXMLElement+XMPP...XMPPLogging XMPPLoging 提供一个非常快速、高效、灵活的日志框架 XMPPInternal XMPPInternal 仅仅是一和core和多个拓展有关的个网络素材 拓展 添加modules xmpp
2.思考-即时聊天选用的通讯协议选哪种: XMPP(可扩展消息与存在协议): 是一个成熟开源的即时聊天协议, 基于XMPP的开源技术有openfire(后台端), spark(客户端) 优势: 比较成熟的聊天协议...,已在XMPP协议内支持单聊, 群聊, 加好友等功能.满足基本的需要....MQTT(消息队列遥测传输): 严格来说, MQTT是使用与物联网领域的消息传输协议,但有一些即时通讯系统也使用这个协议进行拓展开发,故拎出来说说。MQTT主要有三个特点: 1....而e聊sdk正是基于socket.io上开发的免费开源即时通讯框架,e聊sdk 已实现了多平台的socket.io 支持(如:Web, ReactNative, 微信小程序等), 阅读e聊客户端核心sdk...connect(url+""); /*FITRUE_WXAPP*/ 正是由于e聊sdk在设计之初已具有良好的跨平台支持, 选择使用e聊开发即时通讯,可以在跨平台上实现事半功倍的效果。
领取专属 10元无门槛券
手把手带您无忧上云