bdmh的专栏

QQ:515840062

Netty:ChannelInboundHandlerAdapter和ChannelOutboundHandlerAdapter

前面说到,服务端和客户端通讯,我们通常要绑定一个handler(Netty:Bootstrap的handler和childHandler)进行通道的监听,当收到数据时就会触发某个事件,从而进行进一步的处理。

目前我们用的比较多的就是ChannelInboundHandlerAdapter和ChannelOutboundHandlerAdapter。

ChannelInboundHandlerAdapter,看名字中的 IN,就是进入的意思,一般就是事件(event),比如当有数据到来时,channel被激活时或者不可用时,下面介绍几个最常用的。

channelActive

通道激活时触发,当客户端connect成功后,服务端就会接收到这个事件,从而可以把客户端的Channel记录下来,供后面复用

channelRead

这个必须用啊,当收到对方发来的数据后,就会触发,参数msg就是发来的信息,可以是基础类型,也可以是序列化的复杂对象。

channelReadComplete

channelRead执行后触发

exceptionCaught

出错是会触发,做一些错误处理


ChannelOutboundHandlerAdapter,看到了out,表示出去的动作,监听自己的IO操作,比如connect,bind等,在重写这个Adapter的方法时,记得执行super.xxxx,否则动作无法执行。

bind

服务端执行bind时,会进入到这里,我们可以在bind前及bind后做一些操作

connect

客户端执行connect连接服务端时进入


其它的操作可以参加Netty的官方文档http://netty.io/4.1/api/index.html

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bdmh/article/details/49928197
个人分类: Java Android Netty
上一篇Netty:Bootstrap的handler和childHandler
下一篇Netty:EventLoopGroup
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭