从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( * );
until False; finally
dmf.Free;
end; end; var
pid: pid_t; begin pid := fork;
if pid = then
begin
writeln('starting service');
daemon; end; end.
编译并在linux 下运行这个程序。
程序退出后,自动在后台建立一个服务。
好了,我们在客户端访问这个程序。
客户端例子参照这个文章http://www.cnblogs.com/xalion/archive/2012/01/31/2332417.html
看来没有任何问题,用kbmmw 写linux 服务器就这么简单。
你喜欢吗?