После отправки серверу запроса, например GET, сервер отвечает, но как узнать длинну сообщение?
И можно ли это сообщение частями считывать и отправлять клиенту, то есть считать с сервера 1024 байт и их сразу отправить клиенту, потом снова читать данные с сервера?
ExkaliBur пишет:
> После отправки серверу запроса, например GET, сервер отвечает, но как > узнать длинну сообщение?
если Content-Length есть то по нему (только не доверять ему на 100%)
если нет — то до закрытия коннекта
> И можно ли это сообщение частями считывать и отправлять клиенту, то есть > считать с сервера 1024 байт и их сразу отправить клиенту, потом снова > читать данные с сервера?
Как долго надо ждать ответа от сервера?
Бывают такие ситуации, что часть страницы загружается, а затем функция получения данных с сервера возвращает 0.
В чем тут дело?
Здравствуйте, ExkaliBur, Вы писали:
EB>Как долго надо ждать ответа от сервера? EB>Бывают такие ситуации, что часть страницы загружается, а затем функция получения данных с сервера возвращает 0. EB>В чем тут дело?
сокетная ф-ция read возвращает 0 если соединение закрылось
Здравствуйте, ExkaliBur, Вы писали:
EB>Как зделать чтбы в Opera тоже работало?
Я извиняюсь, но какая цель твоих мучений?
Если цель — сделать прокси, то бери готовый. Он будет работать хоть с оперой, хоть с сафари.
Если цель — научиться, то изучай протокол HTTP.
Здравствуйте, ExkaliBur, Вы писали:
EB>После отправки серверу запроса, например GET, сервер отвечает, но как узнать длинну сообщение? EB>И можно ли это сообщение частями считывать и отправлять клиенту, то есть считать с сервера 1024 байт и их сразу отправить клиенту, потом снова читать данные с сервера?
Есть пежим передачи Chunked Transfer, как раз заставляет сервер отавать ответ кусками и указывать их длину