嵌入式web服务器 goahead
一、Linux下编译goahead:
1、下载goahead源码,我这里用的是webs-2-5.tar.gz。
2、解压后进入webs-2-5/LINUX/ 目录,执行make。(由于源码包中没有SSL加密的源码,所以要将Makefile中的matrixsslDir:=$(shell ls -d../matrixssl-3-1*/)这行代码注释掉)
3、编译后会在当前目录下生成webs执行文件,运行:./webs –demo
4、然后在IE上访问http://192.168.1.130:8080/home.htm页面,能打开页面,则表示成功了。(其中192.168.1.130为webs运行时的主机的IP地址。)
5、移植到arm嵌入式设备上也很简单,在webs-2 -5/LINUX/目录下,执行make CC=arm-linux-gcc即可编译通过。
二、goahead源码阅读:
源码也是比较简单的,主要流程就是通过一些比较关键的函数设置好用户名、密码、访问路径、访问首页、接口函数、form接口函数等,然后通过HTTP协议与浏览器进行通讯,把浏览器要访问的数据发给浏览器,并将设置的内容通过接口函数的方式传递给goahead服务器。以下即为源码中,比较重要的函数。
1、websSetDefaultPage();//设置默认主页。
2、websSetDefaultDir();//设置web目录。
3、umAddUser();//添加用户和密码。
4、websAspDefine();//为asp脚本提供的接口函数。
5、websFormDefine();//提交form接口函数。
三、goahead的应用:
《GoAhead webServer 应用开发文档》,描述的很清楚也很详细(包括用实例描述了如何利用javascript来完成浏览器与goahead的数据交互)。