IoHandler有以下方法:
- sessionCreated
- sessionOpened
- sessionClosed
- sessionIdle
- exceptionCaught
- messageReceived
- messageSent
其中不容易区分的就是sessionCreated和sessionOpened(在前面也讲过),在说明文档中是这样说的:
Session Created event is fired when a new connection is created. For TCP its the result of connection accept, and for UDP this is generated when a UDP packet is received. This function can be used to initialize session attributes, and perform one time activities for a particular connection.
This function is invoked from the I/O processor thread context, hence should be implemented in a way that it consumes minimal amount of time, as the same thread handles multiple sessions.
SessionCreated:当连接连接上就发出这个消息;而且这个是在I/O处理线程上下文中进行调用的,所以这个函数要用最小的处理时间,这个线程还要处理多个session
而sessionOpened:
Session opened event is invoked when a connection is opened. Its is always called after sessionCreated event. If a thread model is configured, this function is called in a thread other than the I/O processor thread.
sessionOpened实在sessionCreated事件之后调用,如果线程模型被配置好了,则在对应的处理线程中进行调用,而不是在I/O处理线程中调用;