随笔分类 - Web Server
GoAhead,Boa等网络服务器架设
web server大全之GoAhead移植
摘要:注:最近在做goAhead web server和移植其到TI芯片+linux上,这里先转一篇相关的文章来学习下,希望有所帮助。。。 ******************************* * web server大全之GoAhead移植 * ******************************* 2009/02/14asdjf@163.comwww.armecos.com 很多人希望在产品中使用Web Server,为此,我们总结了十几种各式各样的Web Server任君选择。Web Server开发再也不是困难的事情了。 本文档介绍强大的嵌入式Web...
阅读全文
Goahead在ArmLinux下的移植
摘要:Goahead是一款适合嵌入式的webServer,支持asp,cgi,embeddedJavaScrip等脚本语言基本上在windows下或者在redhat9下面只要make一下就能运行了. 体积小巧的嵌入式服务器:GoAheadGoAhead Web服务器,小巧,精致,提供了值得称道的性能。 GoAhead Web 服务器是一款主要面向嵌入式系统的WEB服务器,它的目标也许不在于目前的WEB服务器市场,而是面向当嵌入式系统深入我们的工作与生活的明天,那时,它也许会成为使用最广泛的WEB服务器。 GoAhead Web服务器是GoAhead公司的Embedded Managemen...
阅读全文
goAhead 2.5嵌入式web服务器移植到arm9 2440 + linux中
摘要:本文内容概要:详细描述了移植goAhead 2.5到S3C2440的linux系统的过程、步骤、遇到的问题及其解决方法。开发环境: 宿主 机:window XP;虚 拟 机:ubuntu9.10; 交叉编译器:arm-uclibc-gcc(arm-linux-gcc-4.3.2可以顺利编译通过)———————————————————————————————————————————————————————————————————1. GoAhead Web服务器介绍goAhead Web服务器,小巧、精致,提供了值得称道的性能,特别适合于嵌入式系统,因此,在很多嵌入式产品如路由器中都用到了goA
阅读全文
GoAhead2.5源代码分析之1-用户管理(um.c)
摘要:Um.c(用户管理)umconfig.txt----------------------------------------TABLE=usersROW=0name=adminpassword=Uzgroup=Administratorprot=1disable=0TABLE=groupsROW=0name=Administratorpriv=4method=3prot=1disable=0TABLE=accessROW=0name=/main.htmlmethod=3secure=0group=Administrator------------------------------------
阅读全文
GoAhead2.5源代码分析之2-文件数据库(emfdb.c)
摘要:Emfdb.c(文件数据库)数据库按照下面结构体存放typedef struct dbTable_s { char_t *name; int nColumns; char_t **columnNames; int *columnTypes; int nRows; int **rows;} dbTable_t;每个table对应上面结构的一个变量。Name是table的名字nColumns是table有多少列columnNames是各个列的名字columnTypes是各个列中内容的类型,是字符串,还是整数nRows是table有多少行rows是:rows[n]指向各个行的指针,rows[n][m
阅读全文
GoAhead2.5源代码分析之3-用户管理实例(umui.c)
摘要:Umui.c(用户管理实例)文件中代码与webs-2-5\wwwdemo\um中的页面对应,(addgroup.asp、addlimit.asp、adduser.asp、delgroup.asp、dellimit.asp、deluser.asp、dspuser.asp、loadcfg.asp、savecfg.asp、um.htm)是这些页面调用的form、asp函数,通过这些实例,有助于对用户管理的理解。------------------------------------------------------------------------------------------------
阅读全文
GoAhead2.5源代码分析之4-用户管理用到的一些函数(uemf.c misc.c)
摘要:Uemf.c和misc.c(用户管理用到的一些函数)void error(E_ARGS_DEC, int etype, char_t *fmt, ...)功能:将出现的错误根据错误类型,输出对应字符串说明:函数中使用了var_start,var_end, var_arg等宏下面我们来探讨如何写一个简单的可变参数的C函数。写可变参数的C函数要在程序中用到以下这些宏:voidva_start(va_listarg_ptr,prev_param);typeva_arg(va_listarg_ptr,type);voidva_end(va_listarg_ptr);va在这里是variable-arg
阅读全文
GoAhead2.5源代码分析之5-块分配模块(h.c和balloc.c)
摘要:h.c和balloc.cint hAlloc(void ***map)功能:分配使用的map数组说明:-----------------------------------------------------------------------------------------------------------------int hFree(void ***map, int handle)功能:释放使用的map数组说明:--------------------------------------------------------------------------------------
阅读全文
GoAhead2.5源代码分析之6-访问验证(security.c)
摘要:security.c主要功能是:验证登陆用户的信息,会在页面上显示对应的信息,不成功,显示错误页面,成功时,会验证用户名和密码。-----------------------------------------------------------------------------------------------------------------int websSecurityHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg, char_t *url, char_t *path, char_t *query)功能.
阅读全文
GoAhead2.5源代码分析之7-form请求处理(form.c)
摘要:form.c(form请求处理)-----------------------------------------------------------------------------------------------------------------int websFormHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg, char_t *url, char_t *path, char_t *query)功能:处理form请求说明:1. 根据form的路径path,分离出form程序名,例如/goform/my,
阅读全文
GoAhead2.5源代码分析之8-sym hash table(sym.c)
摘要:sym.c(symbol hash table)typedef struct { /* Symbol table descriptor */ int inuse; /* Is this entry in use */ int hash_size; /* Size of the table below */ sym_t **hash_table; /* Allocated at run time */} sym_tabent_t;typedef struct sym_t { struct sym_t *forw; /* Pointer to next hash list */ value_t n
阅读全文
GoAhead2.5源代码分析之9-cgi处理句柄(cgi.c)
摘要:cgi.c(cgi)int websCgiHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg, char_t *url, char_t *path, char_t* query)功能:处理cgi请求。说明:1. 抽出页面上form中调用的cgi程序的名字,构建完整的路径/ata0/webs/www/*2. 进入到cgi程序所在的目录,即/ata0/webs/www3. 分配内存,建立cgi程序的参数,主要是从也空格分割的qurey中提取出来4. 从cgi的环境变量中,构建名、值对。5. 确定标准输入、输出。标准输出是个临时
阅读全文
GoAhead2.5源代码分析之10-web server主程序(main.c)
摘要:main.c(主程序)是web服务器的主要,也就是启动函数。int websvxmain(int argc, char **argv)功能:goahead web服务器的启动的第一个函数。说明:1. 判断命令中有没有-demo,有则,代码中包含/wwwdemo/目录下的页面对应的cgi程序,该目录下是一些例子程序。2. 分配一个60k的内存空间。3. 初始化web服务器。4. 然后进入while循环,在打开的socket数组中寻找是否有一个socket需要处理(socketReady);如果没有,则等待2秒,发现有可读、可写socket(socketSelect)。如果有则进行处理(socke
阅读全文
goAhead上实现文件上传到嵌入式web服务器上
摘要:本文内容概要:详细描述了在goAhead 2.5上如何实现文件上传(上传文件)到服务器端的功能。开发环境: 宿主 机:window XP;虚 拟 机:ubuntu9.10; 交叉编译器:arm-uclibc-gcc(arm-linux-gcc-4.3.2可以顺利编译通过)———————————————————————————————————————————————————————————————————1. 说明最近调试web文件上传到服务器功能,但在调试时,处理函数总是获取不到文件路径,百思不得其解,查了网上许多文章,但大多提到的是前端文件上传的原理、实现方式等,而未提供服务器端处理的实现(
阅读全文
嵌入式WEB服务器BOA的移植方法
摘要:今天自己在开发板上移植了boa服务器。参考资料是李驹光、郑耿大侠在恒颐论坛上的帖子。李大侠写的好,我没有费什么力气就搞定了,:-)。步骤如下:1.从http://www.boa.org/下载Boa源码,将其解压并进入源码目录的src子目录# tar -zxvf boa-0.94.13.tar.gz# cd boa-0.94.13/src2.生成Makefile文件# ./configure修改Makefile文件,a.找到CC=gcc,将其改成CC = arm-linux-gcc,b.找到CPP = gcc –E,将其改成CPP = arm-linux-gcc –E,保存退出。3.运行make
阅读全文
Thttpd manual
摘要:1.名字thttpd- 是一款小型/快速/非阻塞的HTTP服务程序2.概要thttpd [-C configfile] [-p port] [-d dir] [-dd data_dir] [-r|-nor] [-s|-nos] [-v|-nov] [-g|-nog] [-u user] [-c cgipat] [-t throttles] [-h host] [-l logfile] [-i pidfile] [-T charset] [-P P3P] [-M maxage] [-V] [-D]3. 描述thttpd 是简单的,小型,快速而安全的 HTTP 服务程序。 没有许多特别的特征,但是
阅读全文