Если у меня есть большой HTTP-пакет, разделенный на несколько TCP-пакетов, как я могу преобразовать их обратно в один HTTP-пакет? По сути, где в пакете я могу узнать, когда HTTP-пакет начинается/заканчивается? Кажется, я не вижу никаких флагов/полей в заголовке TCP, которые обозначают начало или конец HTTP-пакета.
EDIT: В ответ на ответы. Если TCP управляет потоком, как он узнает, когда поток начинается и заканчивается? Это определяется открытием и закрытием сокета? Какой-то протокол на каком-то уровне должен знать, когда поток/пакет HTTP начался и закончился. Вот что я хотел бы знать.
Ситуация, в которой я нахожусь, заключается в том, что я использую анализатор пакетов на С#, который читает TCP-пакеты, и я хотел бы иметь возможность реконструировать HTTP-запросы/ответы/и т. д. прохождение через интерфейс, подобное тому, как это удается wireshark и другим снифферам. В качестве альтернативы существуют ли какие-либо библиотеки C #, которые позволяют вам подключаться к потокам HTTP на более высоком уровне, избавляя меня от необходимости самостоятельно восстанавливать поток/пакеты HTTP?
Спасибо.