Sono coinvolto in un progetto che implica l'implementazione di un protocollo binario che verrà trasmesso su TCP. Durante le nostre prime discussioni, abbiamo riscontrato un breve intoppo nel decidere se il riempimento di byte è necessario se decidiamo di includere la lunghezza del pacchetto nell'intestazione del campo.
Ad esempio. Se la nostra struttura dei pacchetti era così:
[STX] [PACKET LENGTH] [PACKET ID] ..... [ETX]
Abbiamo bisogno di roba da byte? Uno dei miei colleghi sembra dire che, dato che conosciamo la lunghezza del pacchetto, anche se un carattere speciale, vale a dire STX, ETX appare nei byte, non importa quanto stiamo leggendo comunque la quantità di byte [Lunghezza pacchetto].
Sembra avere senso, ma non sono sicuro al 100% se questo ragionamento è giusto.
Si noti che non stiamo usando moduli di tipo di gestore di protocolli esistenti come proto-buf ma stiamo progettando questo protocollo noi stessi per il nostro uso.
Per confermare ciò che penso sto significando riferendosi al riempimento di byte:
Byte stuffing is a process that transforms a sequence of data bytes that may contain 'illegal' or 'reserved' values into a potentially longer sequence that contains no occurrences of those value
Tratto da Wiki - Sovraccarico costante per byte