共4条
1/1															1							跳转至页
		[原创]GoAhead WebServer移植小结
 
					
				
															
	[quote][b]以下是引用[i]bonebird在2003-9-28 22:15:00[/i]的发言:[/b]
rever2能否来篇goahead的原创啊?
 我找到了一些资料,能down了,可是用不起啊
[/quote]
我以前写的一些,贴出来大家看看,多指教:
VxWorks中自带了WebServer组件,在network components->network protocols-> network applications下选择http server即可。也可以采用rapid control for Web。这里我们介绍GoAhead WebServer,它是一个源码免费、功能强大、可以运行在多个平台的嵌入式WebServer。
GoAhead WebServer的主要特性有:
l	支持ASP
l	嵌入式的JavaScript
l	标准的CGI执行
l	内存中的CGI处理GoFroms
l	扩展的API
l	快速响应,每秒可处理超过50个请求
l	完全和标准兼容
l	如果不包含SSI,仅要求60K的内存;包含SSI,要求500K内存
l	web页面可以存在ROM或文件系统中
l	支持多种操作系统,包括eCos 、LINUX 、LynxOS 、QNX 、VxWorks 、WinCE、pSOS等
下面讲述一下通过downloadable工程来架设GoAhead WebServer的过程,当然也可以用类似的方法把它集成到bootable工程中:
①  到http://12.129.4.11/webserver/webserver.htm下载最新的GoAhead Webserver。
②  建立基于bsp 的downloadable 工程, 名称为 goaheadweb 。
③  将下列下载的源文件加入到工程中:
balloc.c
base64.c
default.c
ejlex.c
ejparse.c
emfdb.c
form.c
h.c
handler.c
md5c.c
mime.c
misc.c
page.c
ringq.c
rom.c
security.c
sock.c
sockGen.c
sym.c
uemf.c
um.c
umui.c
url.c
value.c
webrom.c
webs.c
asp.c
websuemf.c
cgi.c
/vxworks/main.c
④ 参考/vxworks/makefile来修改工程的makefile。
在makefile 中增加定义  -DWEBS -DUEMF -DOS="VXWORKS" –DVXWORKS
如下:
CFLAGS = -g -m486 -ansi -nostdinc -DRW_MULTI_THREAD -D_REENTRANT -DWEBS -DUEMF -DOS="VXWORKS" -DVXWORKS -fvolatile -nostdlib -fno-builtin -fno-defer-pop -I. -IE:/Tornado-x86/target/h -DCPU=I80486
如果需要增加用户管理、存取控制支持,则还需要增加下列定义
-DUSER_MANAGEMENT_SUPPORT
-DDIGEST_ACCESS_SUPPORT
具体可以参考原makefile进行。
⑤ 根据文档修改/vxworks/main.c。
设置根目录,例如
#define	ROOT_DIR		T("/tffs0/webs")
    设置缺省主页
websSetDefaultPage(T("index.asp"));
    利用ftp等工具将index.asp等主页下到tffs0中。
⑥ 编译为 goaheadweb.out 下载。
⑦ 在 WindShell 下加载webserver
sp  websvxmain
⑧ 在浏览器端键入 http://192.168.0.2/index.asp  就可以访问到 /tffs0/webs/index.asp 文件了。
⑨ Asp编程:
GoAhead Asp编程首先需要预先定义Asp函数,在main.c的函数initWebs()中有如下的例子:
   	websAspDefine(T("aspTest"), aspTest);
   这里将aspTest()定义为Asp函数,用户可提供相关的函数来进行想要完成的功能,例如:
/*
 *	Test Javascript binding for ASP. This will be invoked when "aspTest" is
 *	embedded in an ASP page. See web/asp.asp for usage. Set browser to 
 *	"localhost/asp.asp" to test.
 */
static int aspTest(int eid, webs_t wp, int argc, char_t **argv)
{
	char_t	*name, *address;
	if (ejArgs(argc, argv, T("%s %s"), &name, &address) < 2) {
		websError(wp, 400, T("Insufficient args\n"));
		return -1;
	}
	return websWrite(wp, T("Name: %s, Address %s"), name, address);
	}
然后在Asp的页面中调用Asp函数即可,如调用上述例子:
					
					
							
					
										
					
										关键词: 原创 GoAhead WebServer 移植 小
 
					
				
															
	[quote]以下是引用rover2在2003-9-29 08:36:00的发言:
我以前写的一些,贴出来大家看看,多指教:
VxWorks中自带了WebServer组件,在network components->network protocols-> network applications下选择http server即可。[/quote]好像没有找到http server这个组件。我的是t2.2 for arm[upload=jpg]UploadFile/2004-11/2004114151119959.jpg[/upload]
										
					
					
							
					
					共4条
1/1															1							跳转至页
		回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |


 
			
			
			
						
			 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

