01Netty编解码

编程入门 行业动态 更新时间:2024-10-09 00:52:59

01Netty<a href=https://www.elefans.com/category/jswz/34/1759253.html style=编解码"/>

01Netty编解码

一、转字符

  1. 在下面的代码中,是把客户端的字符
  2. 先进行转码同时放置在ByteBuf的数组中进行传输
  3. 如果不这样进行就会出现传输不过去的问题
//客户端的Handler
@Override  
public void channelActive(ChannelHandlerContext ctx) throws Exception {
ByteBuf buf = Unpooled.copiedBuffer("HelloServer", CharsetUtil.UTF_8);
ctx.writeAndFlush(buf);
}

二、说明

客户端与服务端通讯要进行信息的交互,那么客户端需要先把自己的内容转成二进制流才能传输

1.发数据编码,收数据-解码

(编码-数据压缩打包)

2.涉及事件

    1. 出栈事件、入栈事件
      所有发出去的走编码,所有收进来的走解码
    2. 客户端与服务端都将建立自己的管道进行数据的解析操作

        下图为自己的对于整个服务与客户端交互的理解,在图中充分体现了channelHandle的作用

 
三、编解码器

1. 字符串:

1. //编码器
channel.pipeline().addLast(new StringEncoder());
//解码器
channel.pipeline().addLast(new StringDecoder());` 

2. 对象编码解码

channel.pipeline().addLast(new ObjectDecoder(1024, ClassResolvers.cacheDisabled(ClassLoader.getSystemClassLoader()))); 

这个现在是不好用,当前推荐protostuff


3. Protostuff的使用

1. 自定义编解码器

更多推荐

01Netty编解码

本文发布于:2024-02-06 14:55:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1750030.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:编解码   Netty

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!