![]() |
1
1
关于校验和,取决于底层协议。但是你可以自己实现一个。encrypt、hash、crunch、flip、2s补充消息并将结果存储在一个检查字节中 |
![]() |
2
2
它取决于底层传输层的QoS(服务质量)特性。 如果底层通道是可靠的,那么CRC可能是杀伤力过大的(假设在较低的协议层进行某种形式的完整性检查)。 如果你问 怎样 到 勾画 您的有效负载来自一个字节流,然后有几种可能,其中一种可能只是对您的流进行base64编码/解码。然后,根据您的需求,base64可能会转化为过多的开销。 当然,您可以使用一个头段(唯一序列+有效载荷长度+CRC),在您的有效载荷中出现的概率很低,但是您需要在有效载荷上应用一个扰频器,以最小化复制头段的概率等。 如果您希望为不可靠的面向字节流的Procotol构建一个协议,那么为什么要重新发明轮子呢?为什么不使用像购买力平价这样的东西? |
![]() |
3
0
仔细考虑你是否有一个人类可读的协议
|
![]() |
4
0
重要部分取决于 下层有什么 . 以下是一些例子来解释为什么我认为重要:
另一个关键点是: 你应该先根据自己的需要设计一个协议 ( 分析上层需求 )如果您真的需要这样做的话(例如),您在知识CRC-32中会给出什么是保护数据完整性而不是分析的最佳方法? 好吧,我认为这些提到可能有助于你用稍微不同的观点来思考这个主题。 |
![]() |
Bfyuvf · 直接输入二进制可能的C++[重复] 3 年前 |
![]() |
Rado Harutyunyan · 在缓冲区节点中写入位 7 年前 |
![]() |
zaozaoer · >>java中带负字节值的and>>>运算符 7 年前 |
![]() |
rubyquartz · 交换无符号短整数的字节 7 年前 |
![]() |
DenoDev · C-十六进制输出中缺少0 7 年前 |