Smack Connection 的继承关系和读写接口使用说明
来源:互联网 发布:金晨人品知乎 编辑:程序博客网 时间:2024/06/06 06:41
一、简介
Connection是Smack核心类,提供了灵活的扩展机制和监听器机制。
二、继承关系
Connection是一个抽象类,定义了一组为扩展使用的 Listener 的集合。
XMPPConnection是一个继承了Connection的类,实现了Connection定义的一些方法。
根据前面的文章分析,当Smack 完成资源装载后,完成socket端口绑定,进入监听状态。
三、数据输入和输出的入口
1、所有的接收数据以及接收的状态都发送到右侧上面红色框中的接口的实现类中。
2、发送数据通过XmppConnection的sendPacket(Packet packet)方法,经由PacketWriter-->connection.writer--->socket 发出。
四、接口的分类和作用
1、ConnectionCreationListener 接口
向实现了这个接口的类传递一个 Connection的实例。
2、ConnectionListener 接口
向实现了这个接口的类传递 Connection 的状态,包括:
public void connectionClosed();
public void connectionClosedOnError(Exception e);
public void reconnectingIn(int seconds);
public void reconnectionSuccessful();
public void reconnectionFailed(Exception e);
3、PacketListener 接口(用于读取数据)
向实现了这个接口的类传递 Packet,子类实现
processPacket(Packet packet)
就可以得到 Packet 。
4、PacketInterceptor 接口(用于写入数据)
向实现了这个接口的类传递 Packet,子类实现
interceptPacket(Packet packet)
在packet写入socket之前 通过这个接口可以修改Packet的内容。
5、PacketCollector 类
这是个类,本身内置队列。在将packet分发给其他listener之前,将满足条件的packet加入队列中。
void processPacket(Packet packet) 方法是进入队列,如果队列已满,先进的移除,后进的加入队尾。
void cancel() 方法是清空队列,停止packet搜集。
Packet nextResult() 方法是得到一个有效的Packet,如果没有则等待,直到有效packet返回。
Packet pollResult() 方法是得到一个packet,如果没有可以返回 null。
之后所有的功能和代码都是围绕上述的接口上进行封装和扩展的。
http://blog.csdn.net/teamlet/article/details/26372231
- Smack Connection 的继承关系和读写接口使用说明
- Smack Connection 的继承关系和读写接口使用说明
- Java -- 继承和实现接口的关系
- 浅谈继承关系和接口
- connection和session的关系
- connection和session的关系
- 继承,抽象,接口之间的关系和区别
- 浅谈类、抽象类、接口和继承之间的关系
- 继承,抽象,接口之间的关系和区别
- 类,抽象类,接口和继承之间的关系
- 类、抽象类、接口和继承之间的关系
- 继承、抽象类和接口的特点与关系
- 抽象类与接口之间的继承和实现关系
- androidpn和smack的关系与使用上的差别
- java 接口 实现和继承关系
- java 接口 实现和继承关系
- Java 接口 实现和继承关系
- Java 接口 实现 和继承关系
- linux设备驱动开发学习之旅--增加了并发控制的设备驱动程序
- ScrollView与HorizontalScrollView 简单改变边界拉伸距离
- Makefile中的wildcard和patsubst的用法
- nyoj.263 精挑细选【水题】 20141125
- linux设备驱动开发学习之旅--阻塞与非阻塞I/O
- Smack Connection 的继承关系和读写接口使用说明
- 解读大型网站系统架构的演化
- Bootstrap_栅格系统
- Mob开放日:成功手游基因大揭秘
- C语言面向对象编程(一):封装与继承
- linux设备驱动开发学习之旅--支持阻塞的设备驱动
- 13周。。项目一插入
- 经典算法之深度优先搜索
- TexturePacker一个神奇的图片资源整合工具