TCP对流的分割采用四种方式
- 消息定长,每
LEN
长分一个包
-
换行符
作为消息结束符—\r,\r\n
-
特殊分隔符
,换行符就是一种特殊分隔符
- 消息头中指定了长度
Netty针对以上抽象了四种解码器
DelimiterBasedFrameDecoder应用开发
基于特殊字符的分割
服务端
首先设置用来缓冲的ByteBuf的分隔符为$_
然后new DeDelimiterBasedFrameDecoder(1024,xxx);
。
发送消息时记得添加
这样碰到$_
就发包
客户端
初始化时和server一致
FixedLengthFrameDecoder应用开发
比较实用,按照固定长度编码