Coding的痕迹

一位互联网奔跑者的网上日记

0%

Http服务器模块的实现

暑假动手写了一个Http服务器模块,详细地址见:https://code.csdn.net/sunnysab/httpservermodule (CSDN Code 停止服务,已失效)。

工程名称:HttpServerModule
作 者:sunnysab
工程类型:dll
库 平 台:win32 编程语言:纯C

注意事项:

1
2
3
// 有连接来时的回调函数
// 返回1表示拒绝访问
int (* OnAcceptFunc)(char *IpAddress, unsigned short Port, SOCKET s) = NULL;
1
2
3
// 有HTTP请求来时的回调函数
// 返回200表示成功,其他返回HTTP错误代码
int (* OnRequestFunc)(char *Url, char *Para, SOCKET s, char Buffer[BUFFER_LEN], char FileName[MAX_PATH]) = NULL;

Buffer和FileName两个参数,是回调函数可以修改的,但是两个只能修改其中一个。若两个参数都修改,Buffer的优先级更高。

Buffer: 修改后服务器向浏览器发送Buffer的内容,适合做api接口使用
FileName: 读取哪个文件作为服务器发送的文件

导出函数列表(HttpServer.h)还提供了一个函数:

1
ResolvePara(const char * Paras, const char * ParaName, char *Data, int DataMaxLen);

第一个参数是网页参数,第二个参数是你要获取值的参数名,第三个参数是参数数据(OUT)
另外,int类型的函数默认返回0表示执行成功,否则表示执行失败