2009-08-06 9 views

risposta

15

"\ r \ n" non è in realtà un delimitatore pezzo. La dimensione del blocco specifica il numero di byte costituiti dai dati di quel blocco. Il client dovrebbe quindi leggere "\ r \ n" nel messaggio correttamente.

+0

Ha senso, grazie! –

+0

Vecchio argomento ma qui è la mia risposta dove do un esempio RequestHeader + ChunkedBody + AfterHeader. Dovrebbe illustrare come funzionano le nuove linee. http://stackoverflow.com/a/16460234/185565 – Whome

5

In base alla progettazione, questo non è affatto un problema. Ogni blocco specifica la dimensione del byte del suo blocco di dati. I contenuti di ciascun blocco di dati sono arbitrari e devono essere ricevuti come tali, quindi possono includere interruzioni di riga. Se il client sta leggendo ogni blocco correttamente (leggi una riga e analizza la dimensione del byte da esso, quindi legge il numero specificato di byte, quindi legge un'interruzione di riga), non importa se ci sono interruzioni di riga nei dati, poiché il client sta leggendo i dati in base alla dimensione dei byte, non alle interruzioni di riga.

Problemi correlati