第一个kbmmw for Linux 服务器

从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 服务器就这么简单。

你喜欢吗?

posted @ 2019-07-01 23:54  业容天  阅读(47)  评论(0编辑  收藏  举报