2016-07-08 39 views
0

我需要通过卫星发送序列化的数据,其中包括发送数据,每个数据包的最大大小为2kB。协议缓冲区序列化到数据包中

有没有一种内置/简单的方法来将数据与protobuf序列化成限于X大小的数据包?然后在另一端重建它们?

回答

0

Protobuf总是将消息序列化为一个字节数组,该数组的长度与表示数据所需的时间长度相同。

最好的办法是将字节拆分成较低层的块,然后在另一端重新组装。

很可能,这些数据包不能可靠地传输,因此您还需要一种机制来确认数据包,重新传输丢弃的数据包,拥塞控制等。这些都是TCP通常为您所做的所有事情。如果我是你,我会寻找一个现有的TCP实现 - 或者类似的东西 - 可以坐在你的卫星链路之上。