Używam "protobuf" dla programu sieciowego C/S za pomocą protokołu TCP.czy protobuf potrzebuje nagłówka pakietu sieciowego?
tutaj jest moje kroki dla klienta:
1, danych opakowań w „Protobuf”
2, uzyskać rozmiar w bajtach opakowanie i konstruować ramkę długości prefiksu
3, Napisać ramkę + zapakować do gniazda
a następnie serwer:
1, przeczytaj ramkę Długość prefiksu z gniazdka i uzyskać długość N
2, czytać N bajtów z gniazdem i wypełnić dane do Protobuf przykład
3, dostać „wartość” s od Protobuf przez „klucz” s
wydaje się nieco skomplikowany jak sądzę, jest tam jakiś rodzaj automatycznie generowanej ramki prefiksów długości dla protobuf, wtedy nie potrzebuję jej samemu konstruować. czy cokolwiek innego mogę zrobić, aby uczynić kod czystszy?
Twoje pytanie jest niejednoznaczne/niejasne. Czy używasz TCP? UDP? IP? lub jakiś inny protokół sieciowy? Trudno powiedzieć, czym jest protobuf. Czy to struktura, czy tylko kropelka danych? Większość aplikacji C/S będzie wymagać pomocy w ustaleniu poprawności danych wysyłanych lub odbieranych. Musisz być bardziej konkretny i pokazać kod. –
dzięki za sugestię, sprawię, że stanie się to bardziej jasne. "protobuf" odnosi się w szczególności do projektu opensource google. – Shawn