从kbmmw 5.01 开始,就正式支持delphi 10.2 和Linux 了。
今天我们就建一个 kbmmw for linux 服务器简单说一下。
本例子基于上次的linux Daemon例子 。
如果大家不熟悉,请先阅读上面的文章。
首先在datamodule 里面放上 kbmmwserver 和 kbmMWTCPIPIndyServerTransport
两个控件。
如图,并设置好对应的值。
然后建立一个标准的服务,可以参照本例子。
生成对应的服务及函数。
在DataModule 里面加入建立 服务的代码。
procedure Tdmf.DataModuleCreate(Sender: TObject); var sd:TkbmMWCustomServiceDefinition; begin sd:=kbmMWServer1.RegisterService(TkbmMWInventoryService,false); sd:=kbmMWServer1.RegisterService(Txalionsrv,false); end;
主程序代码如下:
program Project2; {$APPTYPE CONSOLE} {$R *.res} uses Posix.Unistd, Posix.SysTypes, System.SysUtils, dmp in 'dmp.pas' {dmf: TDataModule}, srv_yw in 'srv_yw.pas' {xalionsrv: TkbmMWSimpleService}; procedure daemon; begin dmf:=Tdmf.Create(nil); dmf.kbmmwserver1.Active:=True; writeln('service started'); try repeat sleep(10 * 1000); until False; finally dmf.Free; end; end; var pid: pid_t; begin pid := fork; if pid = 0 then begin writeln('starting service'); daemon; end; end.
编译并在linux 下运行这个程序。
程序退出后,自动在后台建立一个服务。
好了,我们在客户端访问这个程序。
客户端例子参照这个文章 http://www.cnblogs.com/xalion/archive/2012/01/31/2332417.html
看来没有任何问题,用kbmmw 写linux 服务器就这么简单。
你喜欢吗?