CHttpServer

CHttpServer沒有基類。

類CHttpServer與CHttpServerContext 一起提供擴展ISAPI兼容的HTTP伺服器功能的方法。類CHttpServer 包括Internet Server API (ISAPI)功能,可以處理各種類型的客戶請求,包括擴展 DLL。CHttpServer 不能處理來自CGI執行的請求。這些擴展DLL 有時被 Internet ServerApplications調用;然而,它們是DLL,而不是EXE。為了簡短,我們將擴展DLL 稱為ISA。

基本介紹

  • 中文名:沒有基類
  • 外文名:CHttpServer
  • 作用:擴展ISAPI兼容
  • 學科:程式設計
要想了解CGI和ISA的區別,請參閱在線上文檔“Visual C++程式設計師指南”中的“Internet Server API(ISAPI)擴展”。
當ISAPI HTTP伺服器收到客戶瀏覽器的請求時,一個CHttpServer對象被創建並初始化,同時一個CHttpServerContext對象被創建。每個模組中只能有一個CHttpServer 實例存在;但是,對伺服器的每一次調用,都有一個ChttpServer-Context對象被創建。一個CHttpServer對象使用多個CHttpServerContext對象,以獨立執行緒運行。此設計允許使用不同的客戶連線對CHttpServer對象進行同時的多個調用。CHttpServer對象通過 CHttpServerContext對象與客戶或伺服器自身進行通訊。
當伺服器裝載ISA時,它在入口點GetExtensionVersion 調用ISA,獲得擴展所基於的指定的版本號。對每個客戶請求,HttpExtensionProc成員函式被調用。HttpExtensionProc的預設 (推薦)實現將讀取客戶數據並決定要採取什麼操作。你可覆蓋此成員函式以定製該實現。
其它CHttpServer成員函式處理客戶請求、格式化回答並與客戶聯繫。
當一個CHttpServer對象收到客戶命令時,文法分析映射將此命令與其類成員函式和參數關聯。對每個CHttpServer對象,只有一個文法分析映射被創建。
請參閱“Internet伺服器API (ISAPI)文法分析映射”以了解使用文法分析映射宏指令的一般信息。請參閱:BEGIN_PARSE_MAP和END_PARSE_MAP以了解如何創建文法分析映射及處理客戶命令的信息。
請參閱下列宏指令介紹,以了解客戶命令是如何與成員函式及其參數映射的信息:
·ON_PARSE_COMMAND
·ON_PARSE_COMMAND_PARAMS
·DEFAULT_PARSE_COMMAND
#include <afxisapi.h>
CHttpServer類的成員
構造一個CHttpServer對象
可覆蓋的函式
CallFunction
在URL中查找並執行與命令有關的適當函式
OnParseError
構造返回給客戶的錯誤描述
OnWriteBody
向客戶機寫數據
HttpExtensionProc
使用回調函式讀取客戶數據並決定採取什麼操作
GetExtensionVersion
獲取DLL所基於的版本號
ConstructStream
構造一個CHtmlStream對象
TerminateExtension
提供一種安全的方法,清除執行緒並完成其它關機動作
屬性
StartContent
將HTML標記插入到返回給客戶的CHtmlStream對象中。覆蓋以改變或省略預設標記
EndContent
將HTML標記插入到返回給客戶的CHtmlStream對象中。覆蓋以改變或省略預設標記
WriteTitle
在返回給客戶的CHtmlStream對象中的適當HTML標記之間插入標題。覆蓋以提供不同標題
GetTitle
獲取傳送給客戶的HTML的標題
AddHeader
在回答傳送給伺服器之前添加標題
初始化CHttpServer對象

相關詞條

熱門詞條

聯絡我們