【发布时间】:2021-11-11 02:49:18
【问题描述】:
我一直在尝试了解 Netty 的 FrameEncoders。特别是 DelimiterBasedFrameDecoder。在examples 的couple 中,我有encountered 的缓冲区大小,8192(字节?)似乎弹出。为什么选择这个尺寸有什么具体原因吗?作为最佳实践?它可以增加吗?增加这个大小会有什么影响?设置此尺寸时要考虑什么因素?
【问题讨论】:
-
DelimiterBasedFrameDecoder 用于基于文本的协议。 8192 是一个随机数,它可以是任何你想要的。但可能选择它是因为它是 1024 的倍数,也就是 8K。使用适合您的协议的任何数字。如果累积的 ByteBuf 超过了提供给 DelimiterBasedFrameDecoder 的数字,您将得到一个 TooLongFrameException。此异常将传递给您的入站处理程序
标签: java networking tcp operating-system netty