XMPP的Stanzas】的更多相关文章

客户端需要使用JID作为身份标石 : [user "@"]domain["/"resource]加域名可以区别重名的用户user,resource可以区分用户登录的场景 通用属性1 from 判断消息来源,但没有意义,服务器没有使用它,服务器是根据数据来源判断的,主要用于调试说明2 to 解析JID的消息确定转发给谁3 type 类型有多种4 id 唯一标识符 能够确定服务端发送的消息是否发给自己的 stream结构用于初始化连接,判断是否双方支持xmpp协议 pr…
现决定使用Openfire作为服务端,Openfire采用Java开发,基于XMPP的实时开源协作服务器.单台可支持上万并发用户. Openfire体系结构 Openfire体系由其提供的服务器端.客户端以及相应的开发库组成. Openfire 通常我们所说的Openfire就是指Openfire服务端,现在已经更新到3.10.3版本,该服务器实现了绝大部分的XMPP协议. 除此之外,还有大量的Openfire插件可供使用. Spark Spark是一个使用java开发的实时协作客户端,通过简单…
一.摘要 这是我粗略读了一遍Jabber协议和相关技术文章后的产物,有些地方不一定准确.在文章中引用的一些代码来自www.jabber.org上的文章. 二. 什么是Jabber    Jabber就像ICQ,MSN一样,是一个基于Internet的即时通讯系统,但是同这些即时通讯软件不同的是,它是一个开放的即时通讯系统,也是一 个基于XML Stream 的协议,用于在Internet上的两个实体之间交换信息,现场状态(presence)和其他的结构化信息.你可以自己架设自己的Jabber服务…
搭建完本地服务器之后,我们便可以着手客户端的工作,这里我们使用XMPPFramework这个开源库,安卓平台可以使用Smack(最好使用4.1以及之后的版本,支持流管理),为了简单起见这里只实现登陆.获取好友列表以及聊天等功能,页面如下所示: user2的好友列表.png 聊天.png xmpp初始化   在开始使用xmpp进行IM聊天之前,我们需要初始化xmpp流,接入我们需要的模块: #define JBXMPP_HOST @"lujiangbin.local" #define J…
苦恼中寻找方法 在开始做即时通信时就知道了消息回执这个概念,目的是解决通讯消息因为各种原因未送达对方而提供的一种保障机制.产生这个问题的原因主要是网络不稳定.服务器或者客户端一些异常导致没有接收到消息. 因为产品中使用的是openfire和spark的组合,所以一直就想在这个范围内找一个现成的方案,只不过通过阅读一些开发者的总结提到说openfire没有消息回执的方案.于是也看到了别人的方案: 发送者发送消息给服务端 服务端接收到消息后发送回执给发送者 发送者确认收到则结束,如果未收到就重发 服…
7. Occupant Use Cases The main actor in a multi-user chat environment is the occupant, who can be said to be located "in" a multi-user chat room and to participate in the discussions held in that room (for the purposes of this specification, par…
原文来自:https://xmpp.org/extensions/xep-0199.html,只翻译了技术方面的内容. 摘要:这个规范定义了一个通过XML流发送应用级别pings的XMPP扩展协议.这个pings可以从客户端发送给服务端,从服务端发送给另一个服务端,或者点到点的发送. 状态:最终版本. 注意:这里定义的协议是是XMPP标准基金会定义的最终标准,可以认为是一种稳定技术实现和部署. 类型:Standards Track(可参考RFC 2026) 版本:2.0.1(2019-03-26…
在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的.所以还是想在这个领域多多了解一下. XMPP协议:具体的概念我就不写了,毕竟这东西网上到处是.简单的说就是基于XML的一种协议.其解决了什么问题呢?就是给即时通讯制定了标准,大家只要遵守标准就可以完成即时通信的功能.有了标准的好处就是可以有各种不同的实现,大家在这个标准上发展自己的特长.而且还给即时通信提供了互联互通的基础.XMPP协议据网上说还是比较优秀的,表现就是google等大公司都在自己的即时…
xmpp学习 下载: Openfire 服务器:Openfire 4.0.2 客户端:Spark 2.7.7 安装 Openfire安装: 根据提示一直下一步,服务器域名设置为:localhost(ps:如果使用gloox,还是直接用机器名,因为gloox不识别ip):数据库使用内嵌数据库或别的标准数据库. 使用mysql的时候需要注意要用管理员权限打开Openfire,否则会出现如下错误: HTTP ERROR 500 Problem accessing /setup/setup-profil…
第一次随笔,实在不知写点什么有用的东西,那就分享一下本人最近的研究所得吧! 是关于iOS-XMPP-通信协议的实现,具体代码比较复杂,三言两句也实在难表达清楚,网上已有很多关于iOS XMPP协议的讲述,但都是简单叙述起代理方法(关于各个简单功能,比如注册\登录\发送消息\添加好友\以及设置自己的资料),但很难实实在在的用在实际的项目中. 今天跟大家分享的视频属于本人原创代码,同时在以上功能还新增都不少的功能,当然也是花了不少时间来钻研,同时也是即将上线App的其中内容之一,欢迎大家的交流! 地…