请输入您要查询的百科知识:

 

词条 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/23 23:17:55