jabber

XMPP文件传输(XEP-0096协议说明)

烈酒焚心 提交于 2019-12-01 16:56:26
XMPP XEP-0096协议是XMPP中的文件传输协议。 关于文件传输,在xmpp协议中有不少协议可以实现,而XEP-0096协议是其中非常简单的一个协议。由于邮件被删,我的代码demo丢失,因此只能在这里给大家讲一下其中的逻辑实现,大家可以以此来写出代码。 首先申明一下,以下是我个人对XEP-0096协议的一些认识和解释,如有疑问,请发邮件到 lizhanzhishang @gmail.com ,欢迎交流~ 我们根据openfire服务器做开发,但是服务器在这里只是起路由寻址和转发的作用,实质上是完全点对点的通信,数据处理由客户端来做。 我们可以举一个栗子,有两部手机,互相之间使用message协议传递信息的完整message XML数据,可以看看一个客户端发送的是什么信息,另一个客户端接收的又是什么message信息,要是一样,说明的是服务器是转发的数据,要是不一样的 话,则可能带有IQ ,MSG,Pr信息。(但是总是有例外的,服务器也要对连接的数据做一些心跳包。) 下面是一组请求(一方发出“发送文件”请求,接收方发出“拒绝接受”请求): 这是”发送文件”的一段数据请求,(图片小,可以双击放大) 将接受方拒绝接受文件的信息返回给发送方: 就此请求完毕,一方发出了“发送文件”的请求,另一方“拒绝”了这个请求。 这里有一个完整的数据传输协议,在官方的文档上是这样写的: In

在Openfire源码中添加自己的插件

一个人想着一个人 提交于 2019-11-28 09:51:28
参考: http://redhacker.iteye.com/blog/1919329 Openfire源码的编译请查看另一篇文章: Ubuntu12.04(64bit)上部署编译运行Openfire+Spark环境 一、基于 Openfire 源码安装自定义插件 创建自己的插件路径 编写 plugin.xml,注意路径,是创建在插件的根目录下。否则即使编译出jar包,管控平台也不识别。 这里偷懒直接在其他插件中复制过来的。 <? xml version="1.0" encoding="UTF-8"?> <plugin> <!--插件JAVA文件路径--> <class> org.jivesoftware.example.plugin.ExamplePlugin </class> <!-- Plugin meta-data --> <name>Example Plugin </name> <description>This is an example plugin .</description> <author> Jive Software</author> <version>1.0</version> <date>07/01/2006</date> <url> http://www.igniterealtime.org/projects/openfire/plugins.jsp<