在說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"之后的字符串定義了表單名字和用戶請求的細節.