在说GoAhead之前先说下一下web.
Web Server中文名称叫网页服务器或web服务器。WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。
GoAhead WebServer,它是一个源码,免费、功能强大、可以在多个平台运行的嵌入式WebServer。
那它作用呢..GoAhead提供了多种方法编写动态页面,包括asp过程、GoForms过程和embedded JavaScript。GoAhead主要利用asp过程动态获取系统信息然后显示在页面上,GoForms过程则主要用来处理用户指令,例如控制设备和修改配置等.
GoAhead WebServer的主要特性有:
1. 支持ASP
2. 嵌入式的javascript
3. 标准的CGI执行
4. 内存中的CGI处理GoFroms
5. 扩展的API
6. 快速响应,每秒可处理超过50个请求
7. 完全和标准兼容
8. 如果不包含SSI,仅要求60K的内存;包含SSI,要求500K内存
9. web页面可以存在ROM或文件系统中
10. 支持多种操作系统,包括eCos 、LINUX 、LynxOS 、QNX 、VxWorks 、WinCE
下面举两个简单的例子来说明 ASP 和 GoForm 过程的应用
ASP过程
我的C文件
在我的.asp 文件的js函数调用(当然也可以在页面结构里直接用了)
这样就获得从C文件里传来的数据。注意:函数原型必须遵守
GoForms过程
在post表单时调用C函数
在你的C函数里获取并处理
当然也可以加入
websWrite(wp, T("HTTP/1.1 200 OK\r\nContent-type: text/plain\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n"));
websWrite(wp, T("\r\n"));
websWrite(wp,T(" 我收到信息了。。。"));
但这样会弹出一个新页面显示你的反馈信息
要想不刷新新页面,且要在原来页面获得反馈的信息,就要用到AJAX的XMLHTTPRequest对象了。
GoForms过程与ASP过程不同,它主要用来响应用户输入以更新系统设置或者执行特定的动作。在GoAhead中,GoForms实现为一个URL处理器,
它会解释以"/goform"开始的URLs。紧跟着"goform"之后的字符串定义了表单名字和用户请求的细节.