Netty所需注意细节

昨天和前天初步过了一下官网,可能后面有点费解,所以今天在这里说说其中存在的个人认为的难理解的点。

首先还是先看一下我的项目整体包含的文件:


先简单介绍一下每个文件的用处:

  1. DiscardServer:我们的服务器入口,定义了管道端口等内容。
  2. TimeClient:我们的客户端入口,同样定义了客户端管道和连接的服务器等。
  3. TimeClientHandler:客户端管道处理逻辑。
  4. TimeDecoder:在客户端正式处理管道数据之前,先对数据进行解码(为什么需要解码呢,往下看)。
  5. TimeEncoder:在服务端正式发送数据之前,先对所需发送的数据进行编码(为什么需要编码,往下看)。
  6. UnixTime:这是我们自定义类,那么很明显了,因为我们想通过Netty发送我们自定义的类来传递内容,也就是所谓的POJO。
这是所有的类文件。那么我们先看第一个DiscardServer:

首先我们注意下1处,这里我们在原来的基础上增加了一个类叫做TimeEncoder ,这个类如下:

其实就是把我们自定义的类的value变量拿出来发送出去。那么这里我们发现他继承的类是ChannelOutboundHandlerAdapter,稍微了解过Netty的朋友看着就眼熟了,outbound出来了。这里我做了测试,这个类的执行要落后于server端的Handler中的ctx.write。那么也就说我们先经过TimeServerHandler中的逻辑处理,然后通过ctx发送出去,如下:
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值