您的位置:首页 > 其它

Mina IoHandler 事件触发机制

2016-06-04 12:37 423 查看
原文地址:Mina IoHandler(Apache Mina user guide Chapter8 Handler)

所有处理I / O事件都由Mina触发。接口所有活动中心的完成,都在过滤器链结束之后。

IoHandler有如下方法:
· sessionCreated
· sessionOpened
· sessionClosed
· sessionIdle
· exceptionCaught
· messageReceived
· messageSent

1.1.1. sessionCreated事件

当创建一个新连接时触发Session会话创建的事件。对TCP而言,它是的连接接受的结果,当接收到一个UDP数据包时对于UDP它是生成。这个函数可以用来初始化Session会话属性,并为一个特定的连接执行一次活动。

这个函数从I / O处理器线程上下文调用,因此应该实现一种消耗时间最少的方式,作为相同的线程会处理多个Session会话。

1.1.2. sessionOpened事件

当打开连接时,Session会话打开事件被调用。它总是在sessionCreated事件创建之后被调用。如果是一个已配置上网线程模型,这个函数被用于调用线程以外的I
/ O处理器线程。

1.1.3. sessionClosed事件

当Session关闭时,session会话的close事件被关闭。Session会话会清理活动,比如现场清理可以执行。

1.1.4. sessionIdle事件

当一个会话变得空闲时,触发会话空闲事件。这个函数不执行UDP传输。

1.1.5. exceptionCaught事件

当由用户代码或Mina抛出异常时,这个函数被调用。如果异常时一个IOException,则连接被关闭。

1.1.6. messageReceived事件

当消息被接收到时,消息接收事件触发。这就是大多数应用程序需要处理的地方。你需要关注所有你预期的消息类型。

1.1.7. messageSent事件

无论何时,当消息即响应发送时,消息发送事件被触发(调用IoSession.write())。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: