Извините пожалуйста, к сожалению не смог понять совет от 15432:
я б принимал данные в буфер и парсил уже его.
1) как только в сокете появляются данные -> читаем в буфер
2) после каждого чтения проверяем, не сформировался ли в буфере полный HTTP заголовок
Подскажите пожалуйста, если не сложно, а как это сделать ?
1)То есть, вот п.1, как только в сокете появляются данные читаем их в буффер. Но функция read сама их будет читать в предоставленный ей к примеру streambuf автоматически. Мы же не вручную читаем ?
2)А второй пункт вообще к сожалению не смог понять. Вот к примеру, как и писал ТС с сервером поддерживается соединение keepalive, то есть сервер передал вме данные, но соединение не закрываетмя, а значит функция read заблокирована. То есть read все еще ждет. Как можно прочитать что то из буффера, если еще выполняется функция read ??