Netty:ChannelInboundHandlerAdapter和ChannelOutboundHandlerAdapter

原创 2015年11月19日 15:31:10

前面说到,服务端和客户端通讯,我们通常要绑定一个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

版权声明:本文为博主原创文章,未经博主允许不得转载。

ChannelInboundHandlerAdapter和SimpleChannelInboundHandler的使用区分

在netty4.0.X版本中,ChannelInboundHandlerAdapter是普通类,而SimpleChannelInboundHandler是抽象类, 继承SimpleChannelIn...

Netty之解决TCP粘包拆包(自定义协议)

1、什么是粘包/拆包        一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往...

netty ChannelInboundHandlerAdapter 使用注意事项

ChannelInboundHandlerAdapter 使用注意事项

netty-4.1 源码包

  • 2017年12月09日 17:43
  • 4.39MB
  • 下载

Netty 实战

  • 2017年11月28日 12:48
  • 13.07MB
  • 下载

从dubbo看Netty使用

Netty是个高性能的Java网络传输框架,在很多中间件或者分布式框架中几乎都能看到它的身影。既然Netty这么受欢迎,那到底怎么把netty嵌入到我们的系统中了?笔者在几年前就接触了Netty,也开...

netty实战.pdf

  • 2017年11月20日 21:27
  • 15.85MB
  • 下载

Netty权威指南 第2版 完整版

  • 2017年11月13日 17:33
  • 97.77MB
  • 下载

Netty实现长连接简单例子

public class NettyClientHandler extends SimpleChannelInboundHandler {   @Override protected void mes...
  • weihao_
  • weihao_
  • 2017年05月27日 12:32
  • 1795

netty关于http和tcp协议整合

  • 2017年11月13日 17:53
  • 1.84MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Netty:ChannelInboundHandlerAdapter和ChannelOutboundHandlerAdapter
举报原因:
原因补充:

(最多只允许输入30个字)