상당히 높은 업데이트 속도로 유선을 통해 C 구조체를 보내야합니다 (UDP 소켓과 XDR을 사용하여). 여분의 불필요한 트래픽을 몇 khz.소켓을 통한 전송을 위해 C/C++ 구조체를 델타 인코딩하는 방법
이것은 구조체의 데이터 중 일부가 변경되지 않았기 때문에 이전 C 구조체에 대해 현재 C 구조체를 델타 인코딩하는 것이 좋은 아이디어처럼 보일 것이라고 생각하기 때문에 " diff ".
그러나 궁금한 점은 데이터 무결성을 유지하는 이상적인 휴대용 방식에 이상적입니다. 단순히 데이터를 배타적 논리합으로 처리 할 수 있습니까?
마찬가지로 접근법이 확장 성이 있어야 새로운 필드를 구조체에 추가하거나 필요에 따라 재정렬 할 수 있으므로 (패딩) 버전 정보를 필요로하는 것처럼 들리도록하는 것이 중요합니다.
모든 아이디어 또는 포인터 (기존 라이브러리가 있습니까?) 매우 높이 평가 될 것입니다!
감사
편집 : 그 사실에없는 주요 문제이기 때문에 모든 사람에 대한 답변을 제공 한 덕분에, 세부 사항의 수준은 정말 감사합니다, 내가, 내가 아마하지만 UDP를 언급하지 말았어야 실현, 앞서 언급 한 어려움을 설명하는 UDP 위에 구현 된 해당 프로토콜이 이미 있기 때문에 질문은 실제로 struct를 델타 인코딩 할 수있는 실현 가능한 수단에 대한 것이고 전송 메커니즘으로 UDP를 사용하는 것은 아닙니다. . 델타 인코딩하는
나는 그것이 얼마나 많이 의존 생각을 Repurposes 압축 된 형식으로 CORBA 또는 프로토콜 버퍼와 같은 RPC
사용 DTLS를 사용하여 데이터가 변경 될 것입니다 (1 %? 10 %? 50 %?). 그리고 변경 사항은 얼마나 규칙적입니까? (동일 장소 또는 어디에서나 있습니까?) –
그냥 궁금 해서요. XMLRPC, SOAP 또는 다른 통신 DBUS와 같은 unication 메커니즘? 구조체가 다른쪽에 도착하면 어떻게 될까요? – aneccodeal