Netty

[Netty]——分隔符和定长解码器的应用(第五章)

2018-12-12  本文已影响0人  辛德瑞拉Dangerous

DelimiterBasedFrameDecoderFixedLengthFrameDecoder。分别是分隔符消息解码器和定长消息解码器。都能解决TCP底层的数据包的粘包和拆包导致的读半包问题。

代码示例:官方的示例echo

主要内容:

DelimiterBasedFrameDecoder的核心代码(Server和Client都加上这段代码):对特定分隔符的消息进行解码,这里是$_

          // DelimiterBasedFrameDecoder
          ByteBuf delimiter = Unpooled.copiedBuffer("$_".getBytes());
          p.addLast(new DelimiterBasedFrameDecoder(1024, delimiter));
          p.addLast(new StringDecoder());

FixedLengthFrameDecoder的核心代码(Server和Client都加上这段代码):只读取固定长度的消息。这里是20

          // FixedLengthFrameDecoder
          p.addLast(new FixedLengthFrameDecoder(20));
          p.addLast(new StringDecoder());



\color{green}{\small\mathbf{<TBD>}}

上一篇下一篇

猜你喜欢

热点阅读