Я кодирую свой собственный сокет HTTP-сборщика. Я использую C ++ в MVC ++ и winsocket2.h
Мне удалось запрограммировать сокет для подключения к серверу необходимого веб-сайта и отправки запроса HTTP GET.
Теперь проблема в том, что после того, как я отправляю HTTP-запрос GET с подключением Keep-alive, я вызываю функцию recv, и она работает нормально, за исключением того, что после получения веб-сайта он остается в режиме ожидания и ожидает подсказки тайм-аута от сервера или соединение, чтобы закрыть !!
Это занимает несколько секунд в зависимости от времени ожидания активности серверов,
Поэтому я не могу воспользоваться настройками поддержки активности HTTP.
Как я могу сказать функции recv прекратить работу после получения веб-сайта и вернуть мне команду, чтобы я мог отправить еще один HTTP-запрос, избегая при этом другого режима рукопожатия.
Когда я использую неблокирующие сокеты, это работает быстрее, но я не знаю, когда остановиться, я установил str.rfind ("", - 1,7), чтобы остановить получение данных.
однако это не очень эффективно.
Кто-нибудь знает, как это сделать, или какой последний символ посылает HTTP-сервер, когда соединение поддерживается, поэтому я могу использовать его в качестве решения об остановке.
Best
Моу