mina初体验-IoHandler

本文深入解析IoHandler接口,包括sessionCreated、sessionOpened、sessionClosedEvent、sessionIdleEvent、exceptionCaughtEvent、messageReceivedEvent和messageSentEvent等方法。探讨其在处理IO数据过程中的作用与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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())。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值