即时通讯软件openfire+spark+smack

开发你自己的XMPP IM - [J2EE] 这几天查国内外的资料,发现国内关于这方面间的软件资料太少了,就想在这里写几篇关于此类IM 软件开发的文章。不过别看东西小,涉及的模块可不少。 所以我基本上分为三篇文章来介绍此类软件的开发: 第一篇是关于XMPP 协议是啥,IM 是啥以及一个...

2013-08-13 12:56:43

阅读数:2044

评论数:0

认识smack中的基本对象-Packet

一 对象介绍 Packet是XMPP中信息包的基类,所有存储信息的对象都要继承该类。每个Packet对象必须有一个唯一的ID号,该ID号有系统自动生成,不过也可以自己指定。其常见的字段有"to"、“from"等,Packet的每个属性都由一个键值对表示,键名为字符串...

2013-08-12 17:18:05

阅读数:1158

评论数:0

认识smack中的基本对象 - Registration

一 Registration类的介绍 Registration是信息查询包IQ的子类,所以它也包含表示操作类型的四个属性:GET/SET等,当其类型属性为GET时,表示从服务器获取注册对象的信息;而SET类型则表示创建用户,或者是更新已有用户的账户资料。当创建一个新账户时,XMPP服务器会需要一...

2013-08-12 17:17:17

阅读数:1812

评论数:0

认识smack中的基本对象 - 接口PacketFilter

一 接口PacketFilter的介绍 该接口定义了一种过滤packet对象的方法,对于一个packet结果集,只取具有指定属性的子集。该接口主要用于创建packet的监听器(listener)和收集器(collector),通过PacketFilter对监听器和收集器需要处理的packet进行...

2013-08-12 17:16:16

阅读数:1923

评论数:0

认识smack中的基本对象 - Roster对象

一 Roster对象介绍 将其翻译成中文为"花名册",用来表示一个用户的所有好友清单以及申请加好友的用户清单,为了便于管理,Roster中的用户分组进行管理。当其他用户想申请加好友时,需要向该用户发出一个subcription请求,处理请求的模式有三种: accept_al...

2013-08-12 17:14:36

阅读数:5031

评论数:0

认识smack中的基本对象 - Presence对象

一 Presence对象介绍 与IQ一样,Presence也是继承自XMPP的基类Packet信息包,Presence主要有两个用途:1)告诉服务器所有客户端当前所处的状态,2)发出添加/删除好友请求;每个Presence信息包都有一个类型属性Presence.Type,如下: avail...

2013-08-12 17:12:42

阅读数:5682

评论数:1

openfire插件开发的几点说明

1.关于插件的目录结构 这个网上的资料很多,但是我觉得要看懂也不太容易,我这里上一个包括了jsp和servlet的图,希望大家能马上看懂: ME的Navigator视图下的截图: build path配置 这里要注意,如果你的plugin里边有自己的jsp文件,那最好把整个...

2013-08-12 15:53:32

阅读数:4343

评论数:1

【插件开发二】开发OpenFire的消息拦截器

如何开发OpenFire插件,请参照 【插件开发一】开发简单OpenFire插件: http://blog.csdn.net/majian_1987/article/details/9813467; 开发消息拦截器的步骤跟开发简单插件步骤一样,直接上代码,要开发消息拦截器插件,就需要插件类实现Pl...

2013-08-07 11:04:57

阅读数:5263

评论数:1

【插件开发一】开发简单OpenFire插件

废话不说,直接进入主题。(如何部署、运行OF源码,请参照别的文章)。 1.部署成功后的openfire源码如下图, 2.转到Navigator视图下, 3.看of的插件目录结构,以后自己生成的插件目录结构也应该是这种结构的, 4.再回到Packager Explorer视图下,右键-&...

2013-08-07 10:50:54

阅读数:8661

评论数:3

【插件开发三】开发继承IQHandler的插件

OF的插件开发有四种方式,下面讲述如何Register a plugin as an IQHandler。IQ handlers相应包中特定的元素名或命名空间。继承IQHandler的插件,需要注册到IQRouter中去,以下是注册一个继承IQHandler的插件到IQRouter中的代码: IQ...

2013-08-07 10:09:37

阅读数:4276

评论数:2

smack处理收到的Packet

Smack提供灵活的框架来通过两种构造处理收到的 packet: org.jivesoftware.smack.PacketCollector —— 一个让您同步等待新packet的类。org.jivesoftware.smack.PacketListener —— 一个异步通知您引入的pa...

2013-08-06 16:41:38

阅读数:2071

评论数:0

OpenFire匿名登陆

客户端匿名登陆代码: package com.bis.smack.client; import org.jivesoftware.smack.Chat; import org.jivesoftware.smack.MessageListener; import org.jivesoftware....

2013-08-02 11:29:31

阅读数:5031

评论数:0

openfire插件编写进阶,拦截数据包与发送广播

openfrie官网插件开发人员指南,中文版:http://www.blogjava.net/jyleon/articles/254197.html 分析了openfire的官方插件,插件的import里大概有4中包中的东西, openfire包, dom4j包(这个是解析xml的), t...

2013-08-01 17:49:53

阅读数:2390

评论数:0

Smack 实现的Pub/Sub

Smack提供了一套发布订阅消息的功能API。代码如下: 发布: package com.bis.pub; import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smackx.pubsub.LeafN...

2013-08-01 16:22:53

阅读数:3885

评论数:1

openfire--好友管理各种状态纠结

好友花名册官方解析: ofRoster (buddy rosters or lists)Column Name Type Length Description rosterID NUMBER n/a ID of roster (Primary Key) user...

2013-08-01 14:10:46

阅读数:2042

评论数:1

XMPP——Smack[6]离线消息和离线文件的实现

终篇,三天所学所用,也就这些,如果需要大家要自己去查资料研究研究,功能其实可以很强大的 可惜界面做得不好,一大短处,从大一迄今没整好,主要是个人审美不行,哎 毕业季呀毕业季,明天摆摊卖书,再半月就可能和生活四年的兄弟姐妹说再见,考研考公务员工作的,各奔东西了,我也将南下杭州 感慨,天下无...

2013-07-26 10:27:14

阅读数:1272

评论数:0

XMPP——Smack[5]文件传输及离线消息的获取

三天时间,赶在最后一下午实现了文件的传输,本来需要实现离线文件的发送的,一直没想好怎么弄,找openfire的离线文件插件没找到,后来想出一种方法,起服务器时起了一个系统用户,一直在线,当用户发送离线文件,检测到对方不存在,先发给系统用户,存到服务器路径,并在数据库中保存信息,当对方上线时,系统用...

2013-07-26 10:26:03

阅读数:1120

评论数:0

XMPP——Smack[4]状态,心情,头像更改

这里写完,最基本的IM功能也就完了, 还剩下个发送接收文件,离线消息扩展等等 呵呵,三天时间,看的不是很深入,欢迎大家补充呀 1. 修改自身状态 包括上线,隐身,对某人隐身,对某人上线 [java] view plaincopyprint? public...

2013-07-26 10:25:12

阅读数:1005

评论数:0

XMPP——Smack[3]用户列表,头像,组操作,用户操作

转载请注明出处:http://blog.csdn.net/wklken/archive/2011/06/01/6460112.aspx 上一篇主要是会话的管理 继续,这是显示用户列表方面的 1. 用户列表 Smack主要使用Roster进行列表管理的 connection.g...

2013-07-26 10:24:16

阅读数:1081

评论数:3

XMPP——Smack[2]会话、消息监听、字体表情和聊天窗口控制

上一篇是连接,登陆登出和账户管理 继续 连接之后,拿到了connection,通过它可以搞定会话 1. 建立一个会话 [java] view plaincopyprint? MessageListener msgListener = new Message...

2013-07-26 10:23:03

阅读数:1123

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭