这可能会引起一些自以为是的答案,但是有没有理由设计这样的UDP数据包结构......
1)DATA1_LENGTH | DATA2_LENGTH | ... | DATA1 | DATA2 | ...
而不是更像类似串行的时尚?
2)DATA1_LENGTH | DATA1 | DATA2_LENGTH | DATA2 | ..._LENGTH | ...
使用第一种方法,感觉预先计算每个数据的字节长度需要更多的数据准备。
第二种方法几乎可以推进byte length
索引/偏移量来一个接一个地写入连续的数据,而不管它的类型或与先前数据块的相关性。
是否有任何理由在实际数据之前首先将字节长度打包在标题中?
答案 0 :(得分:1)
确实并不重要,但如果由我决定,我更喜欢第二种方法,因为它似乎更容易构建和解析。所涉及的状态较少,而且这些块彼此独立。