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