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

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

作者: 辛德瑞拉Dangerous | 来源:发表于2018-12-12 16:29 被阅读0次

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

代码示例:官方的示例echo

主要内容:

  • DelimiterBasedFrameDecoder的服务端和客户端开发;
  • FixedLengthFrameDecoder的服务端开发和并通过talent进行测试;

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>}}

相关文章

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/unfphqtx.html