openfire smack监听器

本文介绍了在Openfire开发中监听器的重要性,特别是在消息交互中的作用。通过实例展示了如何创建IQ包监听器和连接监听器,以及如何利用Smack处理连接状态,包括断开、异常断开和重连事件。此外,还提及了聊天室的各种事件监听器。
摘要由CSDN通过智能技术生成

继续上一章,这里讲述监听器,在openfire的开发过程中监听器是一个很重要的部分。在消息的交互工程中,监听器起到了触发事件给开发者。

1.一个最简单的IQ包的监听器:

	PacketTypeFilter packetTypeFilter =  new PacketTypeFilter(IQ.class);
		connectManager.getConnection().addPacketListener(new PacketListener(){

			public void processPacket(Packet packet) {
				System.out.println(packet.toXML());
			}
			
		},packetTypeFilter);//监听iq包set类型

这里用到smack中的 过滤器集

PacketTypeFilter --特定类的packet过滤器。
PacketIDFilter --含有特定packet ID的packet过滤器。
ThreadFilter --含有特定线程ID的消息packet过滤器。
ToContainsFilter --发送到特定地址的packet过滤器。
FromContainsFilter --来自特定地址的packet过滤器。
PacketExtensionFilter --含有特定packet扩充的packet过滤器 filters for s that have a particular extension.
AndFilter --实现两个过滤器的逻辑“与”操作。
OrFilter -- 实现两个过滤器的逻辑“或”操作。
NotFilter --实现一个过滤器的逻辑“非”操作。

不过在平常开发过程中,可以使用smack装门针对一些特殊事件都提供了装门的监听器类和事件给开发者,这样编程可以面向对象,更好的区分出消息的来源。

2.连接的监听器

会提供连接的情况给开发者,有断开连接,异常断开,重新连接。smack在异常断链的时候会自动去重连。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值