CHttpServer

CHttpServer не имеет базовый класс.

Класс CHttpServer, с CHttpServerContext, предоставляет средства для расширения функциональных возможностей ISAPI-совместимый HTTP-сервера. Класс CHttpServer переносит функциональность Internet Server API (ISAPI) и может обрабатывать различные типы запросов клиентов, включая расширение DLL. CHttpServer не может обработать запросы клиентов от исполняемых файлов общий интерфейс шлюза (CGI). Эти расширения DLL иногда называют Интернет-сервер приложений; Однако они являются библиотеками DLL, а не exe-файлы. Для краткости мы называть DLL расширения ISA.

Более подробную информацию о разнице между CGI и ISA, см. расширений Internet Server API (ISAPI) в Руководстве Visual C++ программист.

Когда ISAPI HTTP-сервер получает запрос от клиента браузера, создается и инициализируется объект CHttpServer , и создается объект CHttpServerContext . Может существовать только один экземпляр CHttpServer для каждого модуля; Однако один объект CHttpServerContext создается для каждого вызова на сервере. Объект CHttpServer использует несколько CHttpServerContext объектов для запуска в отдельных потоках. Эта конструкция позволяет одновременно, множества вызовов для CHttpServer объекта соединения различных клиентов. Объект CHttpServer общается с клиентом или сервером сам через объект CHttpServerContext.

Когда сервер загружает ISA, он вызывает ISA в точке входа GetExtensionVersion для того чтобы получить номер версии спецификации, на котором базируется расширение. Для каждого запроса клиента вызывается функция-член HttpExtensionProc . По умолчанию (рекомендуется) осуществление HttpExtensionProc чтение данных клиента и решить, какие меры необходимо принять. Можно переопределить эту функцию-член для настройки осуществление.

Другие функции-члены CHttpServer обработать запрос клиента, форматирование ответов и переписку с клиентом.

Когда команда клиента получает объект CHttpServer , карты разбора связать команду для его функции-члена класса и параметры. Только один разбора карта создается каждый объект CHttpServer.

Смотрите Internet Server API (ISAPI) разбора карты для получения общей информации об использовании макросов карта разбора. Приведена информация о том, как создать карту разбора для обработки клиентских команд BEGIN_PARSE_MAP и END_PARSE_MAP.

Увидеть следующие описания макросов для сведений о как команды клиента сопоставляются для функций-членов и их аргументы:

Для получения дополнительных сведений об использовании карт разбора для обработки клиентских команд, см. расширения ISAPI: разбор карт в Руководстве по Visual C++ программист.

Сведения о отладку DLL расширения Интернет содержатся в разделе технические записки 63.

# include lt;afxisapi.h>

Члены классаИерархическая схема

Образцыnbsp; Образца MFC счетчик | Образца MFC WWWQUOTE

См. также CHtmlStream

Index