web服务器的域名格式(超详解读web服务器知识)(21/21)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《web服务器的域名格式(超详解读web服务器知识)(21/21)》的相关信息,《web服务器的域名格式(超详解读web服务器知识)(21/21)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《web服务器的域名格式(超详解读web服务器知识)(21/21)》的详细说明。
笨笨网美国主机,w ww.2 b p .n e t

在eJet系统退出时,会调用http_handle_clean来释放初始化过程分配的资源。

动态库在实现回调时,必须含有这三个函数名:http_handle_init、http_handle、http_handle_clean,其函数原型定义如下:

typedef void * HTTPCBInit (void * httpmgmt, int argc, char ** argv);typedef void HTTPCBClean (void * hcb);typedef int RequestHandler (void * cbobj, void * vmsg);

其中回调函数http_handle的第一个参数cbobj是由http_handle_init返回的结果对象,vmsg即是eJet系统的HTTPMsg实例对象。

13.4 回调函数使用HTTPMsg的成员函数

eJet系统通过传递HTTPMsg实例对象给回调函数,来处理HTTP请求。HTTP对象封装了HTTP请求的所有信息,回调函数在处理请求时,可以添加各种响应数据到HTTPMsg中,包括响应状态、响应头、响应体等。

访问请求头信息或添加响应数据的操作,既可以直接对HTTPMsg的成员变量进行数据读取或写入,也可以通过调用HTTPMsg内置的指针函数来进行处理,HTTPMsg中封装了很多函数调用,通过这些函数,基本可实现eJet系统HTTP请求处理的各种操作。这些例子函数如下:

......char * (*GetRootPath) (void * vmsg); int (*GetPath) (void * vmsg, char * path, int len);int (*GetRealPath) (void * vmsg, char * path, int len);int (*GetRealFile) (void * vmsg, char * path, int len);int (*GetLocFile) (void * vmsg, char * p, int len, char * f, int flen, char * d, int dlen); int (*GetQueryP) (void * vmsg, char ** pquery, int * plen);int (*GetQuery) (void * vmsg, char * query, int len);int (*GetQueryValueP) (void * vmsg, char * key, char ** pval, int * vallen);int (*GetQueryValue) (void * vmsg, char * key, char * val, int vallen);int (*GetReqContentP) (void * vmsg, void ** pform, int * plen); int (*GetReqFormJsonValueP) (void * vmsg, char * key, char ** ppval, int * vallen);int (*GetReqFormJsonValue) (void * vmsg, char * key, char * pval, int vallen);int (*SetStatus) (void * vmsg, int code, char * reason);int (*AddResHdr) (void * vmsg, char * na, int nlen, char * val, int vlen);int (*DelResHdr) (void * vmsg, char * name, int namelen); int (*SetResEtag) (void * vmsg, char * etag, int etaglen);int (*SetResContentType) (void * vmsg, char * type, int typelen);int (*SetResContentLength) (void * vmsg, int64 len);int (*AddResContent) (void * vmsg, void * body, int64 bodylen);int (*AddResContentPtr) (void * vmsg, void * body, int64 bodylen);int (*AddResFile) (void * vmsg, char * filename, int64 startpos, int64 len);int (*Reply) (void * vmsg);int (*RedirectReply) (void * vmsg, int status, char * redurl);......

eJet通过设置回调函数的两种接口机制,将客户端的HTTP请求转交给特定的应用程序来处理,充分利用Web开发的各种前端技术,扩展应用程序与用户前端的交互能力。

笨笨网美国主机,w ww.2 b p .n e t
提醒:《web服务器的域名格式(超详解读web服务器知识)(21/21)》最后刷新时间 2025-03-21 11:16:08,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《web服务器的域名格式(超详解读web服务器知识)(21/21)》该内容的真实性请自行鉴别。