词条 | CHttpServer |
释义 | CHttpServer没有基类。 类CHttpServer与CHttpServerContext 一起提供扩展ISAPI兼容的HTTP服务器功能的方法。类CHttpServer 包括Internet Server API (ISAPI)功能,可以处理各种类型的客户请求,包括扩展 DLL。CHttpServer 不能处理来自CGI执行的请求。这些扩展DLL 有时被 Internet ServerApplications调用;然而,它们是DLL,而不是EXE。为了简短,我们将扩展DLL 称为ISA。 要想了解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 构造一个CHttpServer对象 可覆盖的函数 CallFunction 在URL中查找并执行与命令有关的适当函数 OnParseError 构造返回给客户的错误描述 OnWriteBody 向客户机写数据 HttpExtensionProc 使用回调函数读取客户数据并决定采取什么操作 GetExtensionVersion 获取DLL所基于的版本号 ConstructStream 构造一个CHtmlStream对象 TerminateExtension 提供一种安全的方法,清除线程并完成其它关机动作 属性 StartContent 将HTML标记插入到返回给客户的CHtmlStream对象中。覆盖以改变或省略缺省标记 EndContent 将HTML标记插入到返回给客户的CHtmlStream对象中。覆盖以改变或省略缺省标记 WriteTitle 在返回给客户的CHtmlStream对象中的适当HTML标记之间插入标题。覆盖以提供不同标题 GetTitle 获取发送给客户的HTML的标题 AddHeader 在回答发送给服务器之前添加标题 InitInstance 初始化CHttpServer对象 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。