2016-07-08 8 views
0

위성으로 일련 화 된 데이터를 보내야하는데, 최대 크기가 2kB 인 패킷으로 데이터를 전송해야합니다.프로토콜 버퍼가 패킷으로 직렬화합니다.

protobuf를 사용하여 데이터를 X 크기로 제한된 패킷으로 직렬화하는 기본 제공/쉬운 방법이 있습니까? 그리고 다른 쪽 끝에서 그들을 재건합니까?

답변

0

Protobuf는 메시지를 항상 데이터를 나타내는 데 필요한 한 바이트 배열로 직렬화합니다.

가장 좋은 방법은 바이트를 하위 레이어의 청크로 분할 한 다음 다른 레이어에서 다시 어셈블하는 것입니다.

이러한 패킷은 안정적으로 전달되지 않으므로 패킷 수신 확인, 삭제 된 패킷 재전송, 정체 제어 등의 메커니즘도 필요합니다. 이는 일반적으로 TCP가 수행하는 모든 작업입니다. 내가 너라면 위성 링크 위에 앉아있을 수있는 기존의 TCP 구현 (또는 이와 비슷한 것)을 찾아 볼 것이다.