作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我考虑了一段时间,我为什么要使用 LengthFieldPrepender和 LengthFieldBasedFrameDecoder在 TCP 连接中?
我不明白为什么我唯一的想法是确保数据正确传输并检查长度,但如果我对 TCP 的理解是正确的,TCP 本身应该处理数据正确传输。
最佳答案
TCP 是一种流协议(protocol)。由应用程序来构建数据,即确定数据单元(数据包或消息)的开始位置和结束位置。可靠地实现这一点的两种基本方法是在消息的长度前加上一个定界符。有很多方法可以对前置长度进行编码,并且有很多种分隔符的可能性。 TCP 协议(protocol)不保证通过单次写入发送的数据将由单次读取接收,尽管短消息通常是这种情况。
关于java - 为什么使用 LengthFieldPrepender/LengthFieldBasedFrameDecoder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48051877/
我考虑了一段时间,我为什么要使用 LengthFieldPrepender和 LengthFieldBasedFrameDecoder在 TCP 连接中? 我不明白为什么我唯一的想法是确保数据正确传输
在我简单的 udp netty 应用程序中,我尝试使用 netty 启用长度前缀框架。我正在使用一个 channel 来处理传入消息和发布新消息 (#send)。 public class Serve
我是一名优秀的程序员,十分优秀!