netty用法总结

/**decoder和encoder,如果不需要解析,就使用系统的

* ch.pipeline().addLast(new StringDecoder());

* ch.pipeline().addLast(new StringEncoder());

* 如果使用自己的规则解析,那就写自己的,就如下面

* ch.pipeline().addLast("decoder", new MyMessageDecoder());

*ch.pipeline().addLast("encoder", new MyMessageEncoder());

*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

*/

 

//定长解码器

ch.pipeline().addLast(new StringDecoder(Charset.forName("GBK")));

ch.pipeline().addLast(new StringEncoder(Charset.forName("UTF-8")));
ch.pipeline().addLast(new FixedLengthFrameDecoder(30));//设置定长解码器 长度设置为30
ch.pipeline().addLast(new StringDecoder());//设置字符串解码器 自动将报文转为字符串


//回车换行解码器(\n\r)
ch.pipeline().addLast(new LineBasedFrameDecoder(1024));
ch.pipeline().addLast(new StringDecoder());
```

 

 

markReaderIndex()    //标记一下当前的readIndex的位置

readBytes()       //转移这个缓冲区的数据到指定的目的地 in.readBytes(byte[]);转移in中的字节到byte数组,转移的长度就是byte的长度。

readableBytes()       //

readShort()     //读取两个字节short数据

readInt()       //读取四个字节int数据

readBte()      //读取一个字节

final ByteBuf bbBuf = Unpooled.copiedBuffer(message.data).order(
                    ByteOrder.LITTLE_ENDIAN);

转载于:https://www.cnblogs.com/yuxuan007/p/7021700.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值