用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 进行修正,就可以处理了。