理解 netty 中的 DelimeterDecoder
Understanding DelimeterDecoder in netty
我刚刚阅读了 JavaDoc 的 DelimiterBasedFrameDecoder
,我担心以下问题。假设我使用以下分隔符:~
。并想解码来自客户的消息。作为消息的一个例子,让我们考虑这个:
abcdef~jhk~
所以我希望解码器产生两条消息:
abcdef
jhk
但是如果我们有一些网络延迟会发生什么:
abc.... long time waiting ....def~jhk~
这意味着它将在3条消息中被解码:
abc
def
jhk
或者怎么样?有人可以澄清一下吗?
什么负责根据 netty 中的协议接收完整消息?
正如 delimiterBasedFrameDecoder
的单元测试所测试的那样,它确认此处理程序正确地附加了多个帧,即使它们以碎片形式到达。
我刚刚阅读了 JavaDoc 的 DelimiterBasedFrameDecoder
,我担心以下问题。假设我使用以下分隔符:~
。并想解码来自客户的消息。作为消息的一个例子,让我们考虑这个:
abcdef~jhk~
所以我希望解码器产生两条消息:
abcdef
jhk
但是如果我们有一些网络延迟会发生什么:
abc.... long time waiting ....def~jhk~
这意味着它将在3条消息中被解码:
abc
def
jhk
或者怎么样?有人可以澄清一下吗?
什么负责根据 netty 中的协议接收完整消息?
正如 delimiterBasedFrameDecoder
的单元测试所测试的那样,它确认此处理程序正确地附加了多个帧,即使它们以碎片形式到达。