Продолжить соединение WinHTTP после завершения записи - PullRequest
0 голосов
/ 22 ноября 2010

Я использую WinHTTP для отправки данных в сценарий веб-сервера, и в некоторых случаях мне нужен сервер для уничтожения входящих данных (так как это не требуется), но я все равно возвращаю ответ клиентскому приложению.Я использую stream_socket_shutdown(STREAM_SHUT_RD) со стороны сервера для завершения входящих данных, а затем отправляю ответ обратно, как обычно.Проблема заключается в WinHTTP, я получаю отрицательный ответ от WinHttpWriteData(), как и ожидалось, и прекращаю отправку данных, но когда я звоню WinHttpReceiveResponse(), он возвращает false и GetLastError() возвращает ERROR_WINHTTP_CONNECTION_ERROR.

Есть лиспособ, возможно, сбросить состояние внутренней ошибки для WinHTTP?Или другой способ получить ответ после разрыва соединения с сервером?

Спасибо, J

1 Ответ

0 голосов
/ 22 ноября 2010

Если вы прервете соединение со стороны сервера, получение на клиенте не удастся.Вот как WinHTTP предназначен для работы.

Разве ваш сервер не может просто отбросить нежелательные входящие данные?

Почему ваш клиент все еще отправляет, когда сервер ожидает отправить ему ответ?Возможно, протокол, подразумеваемый в вашем использовании HTTP, может быть скорректирован для уменьшения отправки нежелательных данных от клиента в этом сценарии.

...