处理MINA发出的所有I / O事件。这个Handler接口是过滤器链末端完成的所有活动的中心。
IoHandler具有以下功能:
- sessionCreated
- sessionOpened
- sessionClosed
- sessionIdle
- exceptionCaught
- messageReceived
- messageSent
sessionCreated事件
创建新连接时会触发Session Created事件。对于TCP,它是连接接受的结果,对于UDP,这是在收到UDP数据包时生成的。此函数可用于初始化会话属性,并为特定连接执行一次性活动。
此函数是从I / O处理器线程上下文调用的,因此应该以一种消耗最少时间的方式实现,因为同一个线程处理多个会话。
sessionOpened事件
打开连接时会调用会话打开事件。它总是在sessionCreated事件之后调用。如果配置了线程模型,则在I / O处理器线程以外的线程中调用此函数。
sessionClosed事件
当会话关闭时,会话已关闭事件将关闭。可以在此处执行现cash清理等会话清理活动。
sessionIdle事件
会话空闲时会触发Session Idle事件。 UDP传输不会调用此函数。
exceptionCaught事件
当用户代码或MINA抛出异常时,将调用此函数。如果是IOException,则关闭连接。
messageReceived事件
收到消息时会触发Message Received事件。这是应用程序的大部分处理发生的地方。您需要处理您期望的所有消息类型。
messageSent事件
只要发送了一条消息(即响应),就会触发Message Sent事件(调用IoSession.write())。