用kbmMW 開發webserver也是非常方便的。
還是以前面的簡單服務器為基礎,我們先要通過kbmMW的service wizard 來建立web 服務。
如圖,先選擇web server service
點下一步,出現選擇文件目錄的界面
我們這里用webfiles 相對路徑,就是在網頁文件放到可執行文件目錄下的webfiles 目錄。
點下一步,出現輸入服務名的界面,注意這里的服務名必須是HTTPSERVICE.
后面的基本上就和其他服務類似了,可以一路點下去了。然后就生成對應的服務器代碼。
回到from1上,這里需要對TkbmMWTCPIPIndyServerTransport設置一下,使其滿足http 協議的要求。
第一要設置端口號為80,也就是常用的http 協議的端口。
第二是要設置StreamFormat 為AJAX ,注意只能是這個,其他的不可以。
設置完控件,就可以在注冊這個web server 服務器。
procedure TForm1.FormCreate(Sender: TObject);
var
sd:TkbmMWCustomServiceDefinition;
httpsd:TkbmMWHTTPServiceDefinition;
begin
sd:=kbmMWServer1.RegisterService( Twebsrv,false);
httpsd:=TkbmMWHTTPServiceDefinition(sd);
TkbmMWServiceDefinition(sd).MaxCount:=200;
httpsd.RootPath[mwhfcHTML]:='webfiles';
httpsd.RootPath[mwhfcImage]:='webfiles';
httpsd.RootPath[mwhfcJavascript]:='webfiles';
httpsd.RootPath[mwhfcStyleSheet]:='webfiles';
httpsd.RootPath[mwhfcOther]:='webfiles';
end;
服務器端就基本上設置好了
現在編譯運行。然后在瀏覽器里面輸入http://127.0.0.1
就可以訪問服務器了
一切運行正常。
注意:正如我前面文章說的,由於kbmMW 在處理漢字與英文混合的文件有小bug, 作者要求所有的文件
都以UTF-8 格式保存,如果不是UTF-8 格式就可能出現問題,當然如果實在要用非UTF-8 格式的文件
可以參考我前面介紹的方法對kbmMW 進行修正,就可以處理了。