mina IoHandler 事件触发机制

Posted 04241202-nan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mina IoHandler 事件触发机制相关的知识,希望对你有一定的参考价值。

1、sessionCreated

  一个新的connection被建立时,会触发sessionCreated事件。对于TCP来说,这个事件代表连接的建立;对于UDP而言,它代表收到了一个UDP数据包。这个方法可以用作初始化session的各种属性,也可以用来在一个新建的connection上触发一些一次性的行为。I/O processor线程会调用这个方法,所以在实现该方法时,只加入一些耗时较少的操作,因为I/O processor线程是用来处理多会话的。

2、sessionOpened

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

3、sessionClosed

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

4、sessionIdle

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

5、exceptionCaught

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

6、messageReceived

  当接收到消息的时候会触发messageReceived事件。所有的业务处理代码应该写在这里,但要留心你所要的消息类型。

7、messageSent

  无论何时,当消息已被远端接收到的时候(调用iosession.write()发送消息),会触发messageSent事件。

以上是关于mina IoHandler 事件触发机制的主要内容,如果未能解决你的问题,请参考以下文章

NIO框架之MINA源码解析:底层通信与责任链模式应用

Mina IoFilter注意事项说明

即时通讯开发之MINA2线程原理

即时通讯开发之MINA2线程原理

springboot整合mina

事件触发机制