在日常的网络开发当中,协议解析都是必须的工作内容,Netty中虽然内置了基于长度、分隔符的编解码器,但在大部分场景中我们使用的都是自定义协议,所以Netty提供了 MessageToByteEncoder 与 ByteToMessageDecoder 两个抽象类,通过继承重写其中的encode与decode方法实现私有协议的编解码。这篇文章我们就对Netty中的自定义编解码器进行实践与分析。
一、编解码器的使用
下面是MessageToByteEncoder与ByteToMessageDecoder使用的简单示例,其中不涉及具体的协议编解码。
创建一个sever端服务
```
EventLoopGroup bossGroup = new NioEventLoopGroup(1);
EventLoopGroup workerGroup = new NioEventLoopGroup();
final CodecHandler codecHandler = new CodecHandler();
try {
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class).option(ChannelOption.SO_BACKLOG, 100)
.handler(new LoggingHandler(LogLevel.INFO)).childHandler(new ChannelInitializer() {
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
if (sslCtx != null) {

maven基础入门

Java(13)方法参数

【Java分享客栈】一文搞定京东零售开源的AsyncTool,彻底解决异步编排问题。

匿名内部类的使用

SpringBoot + JWT + Redis 开源知识社区系统

Fizz网关入门教程-快速聚合多接口

多线程那点事—Parallel.for

设计模式之策略模式

从零玩转第三方登录之QQ登录

SSM简单整合!!!

使用 Hexo 搭建个人独立博客

M1 MAC 装ubuntu更换镜像源

Java学习 (13)Java流程控制篇(04)break & continue & goto

架构设计之设计模式总结
