Sto usando 'protobuf' per il programma di rete C/S usando TCP.protobuf richiede un'intestazione di pacchetto di rete?
ecco i passi per il client:
1, i dati del pacchetto in un 'protobuf'
2, ottenere la dimensione in byte del pacchetto e costruire un telaio lunghezza prefisso
3, scrivere il telaio + pacco alla presa
e quindi il server:
1, lettura telaio lunghezza-prefix dalla presa di corrente e ottenere la lunghezza N
2, leggere N byte da presa e riempire i dati in esempio protobuf
3, ottenere "valore" s da protobuf da "chiave" s
sembra un po 'complicato Credo, c'è una sorta di frame con prefisso lunghezza generato automaticamente per protobuf, quindi non ho bisogno di costruirne uno da solo. o qualcos'altro che posso fare per rendere il codice più pulito?
La tua domanda è ambigua/non chiara. Stai usando TCP? UDP? IP? o qualche altro protocollo di rete? È difficile dire cos'è protobuf. È una struttura o solo un blob di dati? La maggior parte delle applicazioni C/S richiederà un po 'di aiuto per capire la sanità dei dati da inviare o ricevere. Devi essere più specifico e mostrare il codice. –
grazie per il tuo suggerimento, lo renderò più chiaro. 'protobuf' si riferisce in particolare a un progetto google opensource. – Shawn