简单介绍一下Handler接口关注的事件:
1、sessionCreated event :当一个新的connection创建的时候,这个事件就会被触发,对于TCP请求来说是三次握手的最后一次请求成功,对于UDP协议来说是收到数据报报文的时候,我们可以在这个方法中加入对session初始化的一些操作和配置。
2、sessionOpened event :当connection打开的时候会被触发,一般来说就是sessionCreated之后,如果在这里面定义或者是配置指定的线程,那么将不会调用 I/O processor thread来完成以后的工作。
3、sessionClosed event :当session关闭的时候会调用此方法,我们可以在这里定义一些session关闭后的资源清理操作来释放session相关的资源。
4、sessionIdle event :当某个session变为idle时会调用此方法,但是在udp通信中是无效的。
5、exceptionCaught event :当用户代码抛出异常或是mina抛出运行时异常时会调用此方法,注意如果这个异常是IO异常的话connection就会关闭。
6、messageReceived event :当接收到消息时就会调用此方法,这个方法是我们最经常用到的方法,这个方法中要尽量定义所有的可能的对接收消息的操作。
7、messageSent event :当消息发送完成时候会被调用,也就是调用 IoSession.write()方法后。