理解 netty 中的 DelimeterDecoder

Understanding DelimeterDecoder in netty

我刚刚阅读了 JavaDocDelimiterBasedFrameDecoder,我担心以下问题。假设我使用以下分隔符:~。并想解码来自客户的消息。作为消息的一个例子,让我们考虑这个:

abcdef~jhk~

所以我希望解码器产生两条消息:

abcdef
jhk

但是如果我们有一些网络延迟会发生什么:

abc.... long time waiting ....def~jhk~

这意味着它将在3条消息中被解码:

abc
def
jhk

或者怎么样?有人可以澄清一下吗?

什么负责根据 netty 中的协议接收完整消息?

正如 delimiterBasedFrameDecoder 的单元测试所测试的那样,它确认此处理程序正确地附加了多个帧,即使它们以碎片形式到达。