protobuf-c 메시지를 TLV의 값에 첨부하여 네트워크를 통해 보내려고합니다. 하지만 패킷 덤프에 올바른 내용이 표시되지 않습니다. 아래는 tlv 구조체와 .proto 파일입니다. struct test_tlv { 부호없는 int 유형; 부호없는 int len; 부호없는 정수 int val; }; 메시지 testproto { 선택적 uint32 유형 = 1; 선택적 string id = 2; } 메시지 값을 test.type = 2 및 test.id = "0xabcdbcda"로 채 웁니다. protobuf api를 사용하여 val에 테스트를 압축하고 네트워크를 통해 tlv를 보냅니다. 하지만 덤프 된 패킷에 올바른 값이 표시되지 않습니다. 나는 아무것도 놓쳤다. 도와주세요.tlv 및 protobuf
감사합니다. 메시지가 varints로 인코딩되기 때문에
모든 HTTPS : //github.com/VakhoQ/tlv-encoder)를 사용하여 구조체를 바이트 배열로 변환하고 되돌릴 수 있습니다. 결과 바이트 배열을 프로토콜 버퍼 구조에 첨부하고 네트워크를 통해 전송할 수 있습니다. 그것은 단지 선택 사항입니다 ... – grep