tut protobuf brauchen ein Netzwerk-Paket-header?

Ich bin mit 'protobuf' für C/S-Netzwerk-Programm mit TCP.

hier mal meine Schritte für den client:

1, pack die Daten in ein 'protobuf'

2, bekommen Größe in bytes des Packs und bauen eine Länge-prefix Rahmen

3, schreiben Sie den Rahmen+pack, socket

und dann den server:

1, lese-Länge-prefix Rahmen von sockel und die Länge N

2, read N bytes vom socket und füllen Sie die Daten in protobuf-Instanz

3, get", Wert,"s" protobuf "Schlüssel"s

scheint es ein wenig kompliziert, denke ich, ist es eine Art von automatisch generierten Länge-prefix Rahmen für protobuf, dann brauche ich nicht das Konstrukt selber. oder etwas anderes, das ich tun kann, um code-Reiniger?

  • Deine Frage ist mehrdeutig / unklar. Verwenden Sie TCP? UDP? IP? oder eine andere Netzwerk-Protokoll? Es ist schwer zu sagen, was protobuf ist. Ist es eine Struktur oder einfach nur eine Daten-blob? Die meisten C/S-Anwendungen benötigen etwas Hilfe herauszufinden, die Vernunft der Daten gesendet oder empfangen werden. Sie müssen um genauer zu sein und zeigen Sie code.
  • vielen Dank für Ihren Vorschlag, ich werde es machen mehr klar. 'protobuf" bezieht sich insbesondere auf eine google-opensource-Projekt.
InformationsquelleAutor Shawn | 2011-11-15
Schreibe einen Kommentar