2016-07-08 68 views
0

我需要通過衛星發送序列化的數據,其中包括髮送數據,每個數據包的最大大小爲2kB。協議緩衝區序列化到數據包中

有沒有一種內置/簡單的方法來將數據與protobuf序列化成限於X大小的數據包?然後在另一端重建它們?

回答

0

Protobuf總是將消息序列化爲一個字節數組,該數組的長度與表示數據所需的時間長度相同。

最好的辦法是將字節拆分成較低層的塊,然後在另一端重新組裝。

很可能,這些數據包不能可靠地傳輸,因此您還需要一種機制來確認數據包,重新傳輸丟棄的數據包,擁塞控制等。這些都是TCP通常爲您所做的所有事情。如果我是你,我會尋找一個現有的TCP實現 - 或者類似的東西 - 可以坐在你的衛星鏈路之上。