• ReadThinClient学习(一)


    比较简单的DEMO学习

    服务端代码

    View Code
    unit RtcHttpServer;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ImgList, StdCtrls, ComCtrls, rtcInfo, rtcConn, rtcDataSrv, rtcHttpSrv,
      rtcFunction, rtcSrvModule;
    
    type
      TMsgType = (mtOK, mtHelp, mtErr);
    
      TrtcHttpServerDemo = class(TForm)
        RtcHttpServer1: TRtcHttpServer;
        ListView1: TListView;
        Button1: TButton;
        Button2: TButton;
        ImageList1: TImageList;
        RtcFunctionGroup1: TRtcFunctionGroup;
        RtcFunction1: TRtcFunction;
        RtcServerModule1: TRtcServerModule;
        procedure Button1Click(Sender: TObject);
        procedure RtcHttpServer1Connect(Sender: TRtcConnection);
        procedure RtcHttpServer1Connecting(Sender: TRtcConnection);
        procedure RtcHttpServer1Disconnect(Sender: TRtcConnection);
        procedure RtcHttpServer1ListenStart(Sender: TRtcConnection);
        procedure RtcHttpServer1SessionClose(Sender: TRtcConnection);
        procedure RtcHttpServer1SessionOpen(Sender: TRtcConnection);
        procedure RtcHttpServer1ListenLost(Sender: TRtcConnection);
        procedure RtcFunction1Execute(Sender: TRtcConnection;
          Param: TRtcFunctionInfo; Result: TRtcValue);
      private
        procedure LogEvent(msg: String; msgType: TMsgType);
        procedure LogClear;
      public
        { Public declarations }
      end;
    
    var
      rtcHttpServerDemo: TrtcHttpServerDemo;
    
    implementation
    
    {$R *.dfm}
    
    procedure TrtcHttpServerDemo.Button1Click(Sender: TObject);
    begin
     //开始监听
     RtcHttpServer1.Listen();
    end;
    
    procedure TrtcHttpServerDemo.LogClear;
    begin
      //清除事件列表
      ListView1.Items.Clear;
    end;
    
    procedure TrtcHttpServerDemo.LogEvent(msg: String; msgType:TMsgType);
    var
      ltIco: TListItem;
    begin
       ltIco := ListView1.Items.Add;
       ltIco.SubItems.Add(msg);
       ltIco.SubItems.Add(DateTimeToStr(Now));
       //设置图标
       case msgType of
         mtOK: ltIco.StateIndex := 1;
         mtHelp: ltIco.StateIndex := 0;
         mtErr: ltIco.StateIndex := 2;
       end;
    
       ListView1.Scroll(10, 10);
    end;
    
    
    procedure TrtcHttpServerDemo.RtcFunction1Execute(Sender: TRtcConnection;
      Param: TRtcFunctionInfo; Result: TRtcValue);
    begin
        with Sender as TRtcDataServer do
        begin
        //请求名字
          LogEvent('请求参数:' + Param.asString['name'], mtOK);
          Result.asString := 'Hello: ' + Param.asString['name'];
        end;
    end;
    
    procedure TrtcHttpServerDemo.RtcHttpServer1Connect(Sender: TRtcConnection);
    //连接事件
    begin
      LogEvent('连接成功:客户端地址:' + Sender.PeerAddr + ',当前客户端连接数'
        + IntToStr(Sender.TotalConnectionCount), mtOK);
    
    end;
    
    procedure TrtcHttpServerDemo.RtcHttpServer1Connecting(Sender: TRtcConnection);
    begin
      LogEvent(Sender.sPeerAddr + '正在连接中...', mtOk);
    end;
    
    procedure TrtcHttpServerDemo.RtcHttpServer1Disconnect(Sender: TRtcConnection);
    begin
     LogEvent(Sender.sPeerAddr + '连接断开了... 当前客户端连接数'
        + IntToStr(Sender.TotalConnectionCount - 1), mtOk);
    end;
    
    procedure TrtcHttpServerDemo.RtcHttpServer1ListenLost(Sender: TRtcConnection);
    begin
      LogEvent('监听丢失:' + Sender.PeerAddr, mtErr);
    end;
    
    procedure TrtcHttpServerDemo.RtcHttpServer1ListenStart(Sender: TRtcConnection);
    begin
      LogClear;
      LogEvent('服务启动中',Mtok);
    end;
    
    procedure TrtcHttpServerDemo.RtcHttpServer1SessionClose(Sender: TRtcConnection);
    begin
      LogEvent('会话已关闭',MtErr);
    end;
    
    procedure TrtcHttpServerDemo.RtcHttpServer1SessionOpen(Sender: TRtcConnection);
    begin
      LogEvent('会话已成功连接',MtErr);
    end;
    
    end.

    服务端DFM

    View Code
    object rtcHttpServerDemo: TrtcHttpServerDemo
      Left = 0
      Top = 0
      Caption = 'FrmrtcHttpServerDemo'
      ClientHeight = 202
      ClientWidth = 389
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      PixelsPerInch = 96
      TextHeight = 13
      object ListView1: TListView
        Left = 0
        Top = 0
        Width = 389
        Height = 150
        Align = alTop
        BevelOuter = bvRaised
        Columns = <
          item
          end
          item
            Caption = #20107#20214
          end
          item
            Caption = #21457#29983#26102#38388
          end>
        FlatScrollBars = True
        GridLines = True
        Groups = <
          item
            GroupID = 0
            State = [lgsNormal]
            HeaderAlign = taLeftJustify
            FooterAlign = taLeftJustify
            TitleImage = -1
          end
          item
            Header = '333'
            GroupID = 1
            State = [lgsNormal]
            HeaderAlign = taLeftJustify
            FooterAlign = taLeftJustify
            TitleImage = -1
          end
          item
            GroupID = 2
            State = [lgsNormal]
            HeaderAlign = taLeftJustify
            FooterAlign = taLeftJustify
            TitleImage = -1
          end>
        IconOptions.Arrangement = iaLeft
        LargeImages = ImageList1
        RowSelect = True
        SmallImages = ImageList1
        TabOrder = 0
        ViewStyle = vsReport
        ExplicitLeft = -32
        ExplicitTop = 8
      end
      object Button1: TButton
        Left = 8
        Top = 156
        Width = 75
        Height = 25
        Caption = 'Start'
        TabOrder = 1
        OnClick = Button1Click
      end
      object Button2: TButton
        Left = 104
        Top = 156
        Width = 75
        Height = 25
        Caption = 'Stop'
        TabOrder = 2
      end
      object RtcHttpServer1: TRtcHttpServer
        ServerPort = '9899'
        OnConnecting = RtcHttpServer1Connecting
        OnConnect = RtcHttpServer1Connect
        OnDisconnect = RtcHttpServer1Disconnect
        OnListenStart = RtcHttpServer1ListenStart
        OnListenLost = RtcHttpServer1ListenLost
        OnSessionOpen = RtcHttpServer1SessionOpen
        OnSessionClose = RtcHttpServer1SessionClose
        Left = 176
        Top = 96
      end
      object ImageList1: TImageList
        Left = 296
        Top = 104
        Bitmap = {
          494C010103000800100010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600
          0000000000003600000028000000400000001000000001002000000000000010
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFFFFFFFFFFFFFFFFFD0D0D000B7B7B700ADADAD00BABABA00D4D4D400FFFF
          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000FCFCFC00EDEDED00D1D1D100B8B8B800AEAEAE00BBBBBB00D5D5D500F1F1
          F100FEFEFE00000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFFFFFFFFFD0D0D000B7B7B700ADADAD00BABABA00D4D4D400FFFFFFFFFFFF
          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFC7C7C700848484005D5D5D00615B5700716153005D5956005F5F5F008C8C
          8C00CECECE00FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000F4F4
          F400C8C8C800858585005E5E5E0058635A0055725C00575F5900606060008D8D
          8D00CFCFCF00F7F7F7000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFC7C7
          C700848484005D5D5D00575761005353710056565D005F5F5F008C8C8C00CECE
          CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFABAB
          AB005E5C5B00956D4F00A66B3B00C2570600C2570600C2570600A76B3D008E6B
          4D0062626200B6B6B600FFFFFFFFFFFFFFFF0000000000000000EEEEEE00ACAC
          AC005C5F5D0050975F003DA854003BAB520039BA52003BA953003FA956004F90
          5D0063636300B7B7B700F2F2F20000000000FFFFFFFFFFFFFFFFABABAB005B5B
          5E004F4F95003B3DA600393CA900383DB800393BA7003D3FA7004D4F8E006262
          6200B6B6B600FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFADADAD005D59
          5500A76B3F00C8692A00C6511200BE4C1100BA4A1000BE4B1000C6541400C56B
          2E00A66E4300615D5900BFBFBF00FFFFFFFF00000000F6F6F600AEAEAE00565F
          580040A956002CCA490014C82B0011BE270010BA250010BE250016C82F0030C7
          4B0044A859005A635C00C0C0C000FAFAFA00FFFFFFFFADADAD0055555D003F40
          A7002A33C8001225C6001123BE001022BA001023BE001424C6002E36C5004344
          A60059596100BFBFBF00FFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFD5D5D50068636000A468
          3600CF591500B64C1000AE481000AD481100AD471000AD481100AE481000B84C
          1000D35E1800A568390077727000FFFFFFFF00000000D6D6D600616A620038A6
          510017D1330010B627000EAE25000FAD25000EAD230011AD260010AE260010B8
          280019D537003BA7520071787200E4E4E400D5D5D500606068003638A4001524
          CF00101FB600101FAE001120AD001020AD001120AD00101FAE00101FB8001825
          D300393BA50070717700FFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFA8A8A8009F663C00D461
          1A00B54C1000B04A1000AD521000C6865800FFFFFF00C6855800AD521100AD52
          1100B74D1000C869280090644100B9B9B900FDFDFD00A9A9A9003DA152001BD6
          3B0010B528000EB026000EB02600000000000EB026000EB0260010B0270010B0
          270010B7290029CA480042925400BABABA00A8A8A8003C3D9F001A25D400101E
          B500101EB000101EB000101EB000101EB000101EB000101EB000101EB000101E
          B700282EC80041419000B9B9B900FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFF8C7C7100B26B3900C253
          1000B34F1100B34E1100B054100093460D004F26070093460D00B0541000B053
          0E00B34D1000C9561100A667380098918C00F6F6F600728E79003AB4530010C2
          2C000FB32A000FB328000000000000000000000000000EB428000FB32A0011B3
          2C0010B3290011C92E0039A851008D9A900071718C00393DB200101DC200111C
          B300111DB300FFFFFF00C4C6E100101CB300C4C7E100FFFFFF00111CB300101C
          B300111FC9003839A6008C8C9800FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFF926E5300CC733400B951
          1100B6511000B7511000B3591100BB682800FFFFFF00C1763B00B4571000B456
          0E00B6511000BF561300C4753A0093796500EDEDED005494610036CE530011B9
          2D000EB62B0000000000000000000000000000000000000000000FB72C000EB7
          2B0010B62D0013BF31003CC658006795720053539200343ACC00111CB900101A
          B600101AB700C3C4D400FFFFFF00C5C6E200FFFFFF00C3C4D400101AB700101A
          B600131DBF003A3DC40065659300FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFF9C6F4C00D77C3A00BC56
          1400BA531000BA541000A3510E00A3510E00D4C7C200FFFFFF00C57C3F00BE66
          1500BA551100BD5A1800D27D3E009B795D00EFEFEF004D9E5F003CDA5C0014BC
          32000EBA2C000000000000000000008115000000000000000000000000000FBA
          2E000FBA2E0018BD360040D45F005E9D6C004C4D9C003A3FD700141DBC001019
          BA001018BA000A0F7300C3C4D400FFFFFF00C3C4D5000A0F73001119BA001119
          BA001820BD003E42D2005D5D9B00FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFA0755300D8874A00C566
          2100BD581100BD571000BA5E1000BA5E100086460C00D4C7C200FFFFFF00BE65
          1500BD561100C8692700CD834A00A1816800F8F8F80055A266004CDB690021C5
          42000FBD300000831600008316000FBD30000083160000000000000000000000
          00000FBD2F0027C846004BCF68006AA376005353A0004A4DD8002126C5001118
          BD001017BD00C5C6E300FFFFFF00C3C4D500FFFFFF00C4C6E3001117BD001119
          BD00272DC8004A4BCD00686AA100FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFAC8B7000C9875300D57E
          3D00C3601800C05C1100FFFFFF00D4C7C20089470C00D2C1B800FEFEFE00BD65
          1500C4641C00DB884700B97E4E00B9A49200FEFEFE0071AE7F0055CB70003DD5
          5D0018C33B0011C0350010C0340011C035000EC0310000851600000000000000
          000019C43B0047DB670050BB680094BB9D007070AC005354C9003D40D500181D
          C3001115C000FFFFFF00C3C4D5000A0D7600C3C4D500FFFFFF001116C0001C20
          C4004749DB004E4EB9009294B900FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFD7CEC800A9714200EFA7
          6D00D27E3B00C7651C00572E0800FFFFFF00F7ECE200F8EEE500A78C7700BE59
          0D00D6824000F0A97100A3653500FFFFFFFF00000000C9D9CC0044AB5C006DEF
          8B003BD25D001CC73F0013C4390011C3370010C235000EC33200028718000A8A
          1F003AD55A0073F2900037A55000EDEDED00C8C8D7004242A9006D6DEF003B3C
          D2001C20C7000A0C6A000A0C78001014C2000A0C78000A0C6A002021C8004042
          D6007171F0003536A300FFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFB2896700C990
          6000EDAC7300DB8D4D00CE7F2F00955B21006C3F140094591F00D1712700DB86
          4200F0B07900BE875A00BA977C00FFFFFFFF00000000FAFAFA0069B47A0061CB
          7B0073ED91004DDB6E0035D259002BCE510027CD4B002ACE4F0036D25B0052DD
          720079F096005CC173007EBC8C00FEFEFE00FFFFFFFF6767B2006160C9007573
          ED004D4DDB003535D2002B2BCE002729CD002A2BCE003736D2005252DD007B79
          F0005A5ABE007C7CBA00FFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFAC79
          4F00CC956600F6BE8A00EBAF7600E6A46800E4A06400E6A46900EDB07900F7C0
          8C00C58F6000B2856100FFFFFFFFFFFFFFFF0000000000000000ECF2ED0050AE
          650068CE81008AF6A70076EB950068E6880064E4840069E6890079ED97008CF7
          A90062C77A0062B47400F8F8F80000000000FFFFFFFFFFFFFFFF4F4FAC006766
          CC008E8AF6007A76EB006B68E6006764E4006C69E6007C79ED00908CF7006260
          C5006161B200FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFB5876400B8835700DDA97B00F2BF8E00F1BD8D00F1BF8F00DAA57700B37D
          5100BA906F00FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000EBF2
          ED0065B7770059BA70007DDF950090F4AB008FF3AA0091F3AA0078DC920053B5
          690071BC8200F7F9F7000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF6464
          B5005757B8007D7BDD00928EF200908DF100928FF1007977DA005151B3006F6F
          BA00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFF00FFFFFFFFFFFFFFFFFFFF
          FFFFFFFFFFFFDECCBE00BB916E00A9714300A9704300A9714400BE977800E4D6
          CA00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          000000000000BFE0C70070BD810045AB5C0045AB5C0046AB5C0079C08A00CBE6
          D10000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFBEBFDE006E70BB004344A9004343A9004446A9007878BE00CACAE400FFFF
          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000424D3E000000000000003E000000
          2800000040000000100000000100010000000000800000000000000000000000
          000000000000000000000000FFFFFF000000F007000000000000E00300000000
          0000C00100000000000080000000000000008000000000000000010000000000
          0000038000000000000007C000000000000006E0000000000000007000000000
          0000003000000000000080000000000000008000000000000000C00100000000
          0000E003000000000000F80F00000000}
      end
      object RtcFunctionGroup1: TRtcFunctionGroup
        Left = 152
        Top = 40
      end
      object RtcFunction1: TRtcFunction
        Group = RtcFunctionGroup1
        FunctionName = 'SimpleTest'
        OnExecute = RtcFunction1Execute
        Left = 32
        Top = 40
      end
      object RtcServerModule1: TRtcServerModule
        Server = RtcHttpServer1
        ModuleFileName = '/mytest'
        FunctionGroup = RtcFunctionGroup1
        Left = 48
        Top = 96
      end
    end

    客户端代码

    View Code
    unit RtcClient;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, rtcConn, rtcDataCli, rtcHttpCli, rtcInfo, rtcFunction, StdCtrls,
      ExtCtrls, ComCtrls, ImgList, rtcCliModule;
    
    type
    
      TMsgType = (mtOK, mtHelp, mtErr);
    
      TfrmRtcHttpClient = class(TForm)
        RtcFunction1: TRtcFunction;
        RtcHttpClient1: TRtcHttpClient;
        ListView1: TListView;
        Panel1: TPanel;
        Button1: TButton;
        ImageList1: TImageList;
        RtcClientModule1: TRtcClientModule;
        RtcFunctionGroup1: TRtcFunctionGroup;
        Button2: TButton;
        RtcResult1: TRtcResult;
        edit1: TEdit;
        procedure Button1Click(Sender: TObject);
        procedure RtcHttpClient1ConnectError(Sender: TRtcConnection; E: Exception);
        procedure RtcHttpClient1ConnectFail(Sender: TRtcConnection);
        procedure RtcFunction1Execute(Sender: TRtcConnection;
          Param: TRtcFunctionInfo; Result: TRtcValue);
        procedure edit1KeyPress(Sender: TObject; var Key: Char);
        procedure RtcResult1Return(Sender: TRtcConnection; Data, Result: TRtcValue);
        procedure RtcHttpClient1Connect(Sender: TRtcConnection);
      private
        procedure LogEvent(msg: String; msgType: TMsgType);
        procedure LogClear;
      public
        { Public declarations }
      end;
    
    var
      frmRtcHttpClient: TfrmRtcHttpClient;
    
    implementation
    
    {$R *.dfm}
    
    procedure TfrmRtcHttpClient.Button1Click(Sender: TObject);
    begin
      if RtcHttpClient1.isConnected
         or RtcHttpClient1.isConnecting then
        exit;
      RtcHttpClient1.Connect();
    end;
    
    procedure TfrmRtcHttpClient.edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      //发送请求
      if key = #13 then begin
        with RtcClientModule1, Data do
        begin
          with NewFunction('SimpleTest') do begin
            asString['name'] := edit1.Text;
            Call(RtcResult1);
          end;
        end;
      end;
    
    
    end;
    
    procedure TfrmRtcHttpClient.LogClear;
    begin
      ListView1.Items.Clear;
    end;
    
    procedure TfrmRtcHttpClient.LogEvent(msg: String; msgType: TMsgType);
    var
      ltIco, ltEvent, ltDate: TListItem;
    begin
       ltIco := ListView1.Items.Add;
       ltIco.SubItems.Add(msg);
       ltIco.SubItems.Add(DateTimeToStr(Now));
       //设置图标
       case msgType of
         mtOK:   ltIco.StateIndex := 1;
         mtHelp: ltIco.StateIndex := 0;
         mtErr: ltIco.StateIndex := 2;
       end;
    
       ListView1.Scroll(10, 10);
    end;
    
    procedure TfrmRtcHttpClient.RtcFunction1Execute(Sender: TRtcConnection;
      Param: TRtcFunctionInfo; Result: TRtcValue);
    begin
      Param.asString['name'] := 'pengshaomin';
      LogEvent('服务器响应:' + Result.asString, mtOK);
    end;
    
    procedure TfrmRtcHttpClient.RtcHttpClient1Connect(Sender: TRtcConnection);
    begin
       LogEvent('连接服务器[' + Sender.sServerAddr +']成功', mtOK);
    end;
    
    procedure TfrmRtcHttpClient.RtcHttpClient1ConnectError(Sender: TRtcConnection;
      E: Exception);
    begin
      LogEvent('连接服务器[' + Sender.sServerAddr +']错误', mtErr);
    end;
    
    procedure TfrmRtcHttpClient.RtcHttpClient1ConnectFail(Sender: TRtcConnection);
    begin
     LogEvent('连接服务器[' + Sender.sServerAddr +']失败', mtErr);
    end;
    
    procedure TfrmRtcHttpClient.RtcResult1Return(Sender: TRtcConnection; Data,
      Result: TRtcValue);
    begin
    
      with Sender as TRtcDataClient do
      begin
         LogEvent( (Sender as TRtcDataClient).sServerAddr  + '服务器:' + Result.asString, mtOK);
      end;
    end;
    
    end.

    客户端DFM

    object frmRtcHttpClient: TfrmRtcHttpClient
      Left = 0
      Top = 0
      Caption = 'frmRtcHttpClient'
      ClientHeight = 286
      ClientWidth = 447
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      PixelsPerInch = 96
      TextHeight = 13
      object ListView1: TListView
        Left = 0
        Top = 0
        Width = 447
        Height = 201
        Align = alClient
        BevelOuter = bvRaised
        Columns = <
          item
          end
          item
            Caption = #20107#20214
          end
          item
            Caption = #21457#29983#26102#38388
          end>
        FlatScrollBars = True
        GridLines = True
        Groups = <
          item
            GroupID = 0
            State = [lgsNormal]
            HeaderAlign = taLeftJustify
            FooterAlign = taLeftJustify
            TitleImage = -1
          end
          item
            Header = '333'
            GroupID = 1
            State = [lgsNormal]
            HeaderAlign = taLeftJustify
            FooterAlign = taLeftJustify
            TitleImage = -1
          end
          item
            GroupID = 2
            State = [lgsNormal]
            HeaderAlign = taLeftJustify
            FooterAlign = taLeftJustify
            TitleImage = -1
          end>
        IconOptions.Arrangement = iaLeft
        StateImages = ImageList1
        TabOrder = 0
        ViewStyle = vsReport
        ExplicitLeft = -8
        ExplicitTop = 32
      end
      object Panel1: TPanel
        Left = 0
        Top = 201
        Width = 447
        Height = 85
        Align = alBottom
        TabOrder = 1
        ExplicitLeft = 8
        ExplicitTop = 159
        ExplicitWidth = 185
        ExplicitHeight = 41
        object Button1: TButton
          Left = 16
          Top = 28
          Width = 75
          Height = 25
          Caption = 'connect'
          TabOrder = 0
          OnClick = Button1Click
        end
        object Button2: TButton
          Left = 97
          Top = 28
          Width = 112
          Height = 25
          Caption = 'function execute'
          TabOrder = 1
        end
        object edit1: TEdit
          Left = 1
          Top = 1
          Width = 445
          Height = 21
          Align = alTop
          TabOrder = 2
          OnKeyPress = edit1KeyPress
          ExplicitLeft = 200
          ExplicitTop = 16
          ExplicitWidth = 121
        end
      end
      object RtcFunction1: TRtcFunction
        Group = RtcFunctionGroup1
        FunctionName = 'SimpleTest'
        OnExecute = RtcFunction1Execute
        Left = 128
        Top = 112
      end
      object RtcHttpClient1: TRtcHttpClient
        ServerAddr = '192.168.1.57'
        ServerPort = '9899'
        OnConnect = RtcHttpClient1Connect
        OnConnectFail = RtcHttpClient1ConnectFail
        OnConnectError = RtcHttpClient1ConnectError
        Left = 40
        Top = 48
      end
      object ImageList1: TImageList
        Left = 384
        Top = 24
        Bitmap = {
          494C010103000800140010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
          0000000000003600000028000000400000001000000001002000000000000010
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFFFFFFFFFFFFFFFFFD0D0D000B7B7B700ADADAD00BABABA00D4D4D400FFFF
          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000FCFCFC00EDEDED00D1D1D100B8B8B800AEAEAE00BBBBBB00D5D5D500F1F1
          F100FEFEFE00000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFFFFFFFFFD0D0D000B7B7B700ADADAD00BABABA00D4D4D400FFFFFFFFFFFF
          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFC7C7C700848484005D5D5D00615B5700716153005D5956005F5F5F008C8C
          8C00CECECE00FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000F4F4
          F400C8C8C800858585005E5E5E0058635A0055725C00575F5900606060008D8D
          8D00CFCFCF00F7F7F7000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFC7C7
          C700848484005D5D5D00575761005353710056565D005F5F5F008C8C8C00CECE
          CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFABAB
          AB005E5C5B00956D4F00A66B3B00C2570600C2570600C2570600A76B3D008E6B
          4D0062626200B6B6B600FFFFFFFFFFFFFFFF0000000000000000EEEEEE00ACAC
          AC005C5F5D0050975F003DA854003BAB520039BA52003BA953003FA956004F90
          5D0063636300B7B7B700F2F2F20000000000FFFFFFFFFFFFFFFFABABAB005B5B
          5E004F4F95003B3DA600393CA900383DB800393BA7003D3FA7004D4F8E006262
          6200B6B6B600FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFADADAD005D59
          5500A76B3F00C8692A00C6511200BE4C1100BA4A1000BE4B1000C6541400C56B
          2E00A66E4300615D5900BFBFBF00FFFFFFFF00000000F6F6F600AEAEAE00565F
          580040A956002CCA490014C82B0011BE270010BA250010BE250016C82F0030C7
          4B0044A859005A635C00C0C0C000FAFAFA00FFFFFFFFADADAD0055555D003F40
          A7002A33C8001225C6001123BE001022BA001023BE001424C6002E36C5004344
          A60059596100BFBFBF00FFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFD5D5D50068636000A468
          3600CF591500B64C1000AE481000AD481100AD471000AD481100AE481000B84C
          1000D35E1800A568390077727000FFFFFFFF00000000D6D6D600616A620038A6
          510017D1330010B627000EAE25000FAD25000EAD230011AD260010AE260010B8
          280019D537003BA7520071787200E4E4E400D5D5D500606068003638A4001524
          CF00101FB600101FAE001120AD001020AD001120AD00101FAE00101FB8001825
          D300393BA50070717700FFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFA8A8A8009F663C00D461
          1A00B54C1000B04A1000AD521000C6865800FFFFFF00C6855800AD521100AD52
          1100B74D1000C869280090644100B9B9B900FDFDFD00A9A9A9003DA152001BD6
          3B0010B528000EB026000EB02600000000000EB026000EB0260010B0270010B0
          270010B7290029CA480042925400BABABA00A8A8A8003C3D9F001A25D400101E
          B500101EB000101EB000101EB000101EB000101EB000101EB000101EB000101E
          B700282EC80041419000B9B9B900FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFF8C7C7100B26B3900C253
          1000B34F1100B34E1100B054100093460D004F26070093460D00B0541000B053
          0E00B34D1000C9561100A667380098918C00F6F6F600728E79003AB4530010C2
          2C000FB32A000FB328000000000000000000000000000EB428000FB32A0011B3
          2C0010B3290011C92E0039A851008D9A900071718C00393DB200101DC200111C
          B300111DB300FFFFFF00C4C6E100101CB300C4C7E100FFFFFF00111CB300101C
          B300111FC9003839A6008C8C9800FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFF926E5300CC733400B951
          1100B6511000B7511000B3591100BB682800FFFFFF00C1763B00B4571000B456
          0E00B6511000BF561300C4753A0093796500EDEDED005494610036CE530011B9
          2D000EB62B0000000000000000000000000000000000000000000FB72C000EB7
          2B0010B62D0013BF31003CC658006795720053539200343ACC00111CB900101A
          B600101AB700C3C4D400FFFFFF00C5C6E200FFFFFF00C3C4D400101AB700101A
          B600131DBF003A3DC40065659300FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFF9C6F4C00D77C3A00BC56
          1400BA531000BA541000A3510E00A3510E00D4C7C200FFFFFF00C57C3F00BE66
          1500BA551100BD5A1800D27D3E009B795D00EFEFEF004D9E5F003CDA5C0014BC
          32000EBA2C000000000000000000008115000000000000000000000000000FBA
          2E000FBA2E0018BD360040D45F005E9D6C004C4D9C003A3FD700141DBC001019
          BA001018BA000A0F7300C3C4D400FFFFFF00C3C4D5000A0F73001119BA001119
          BA001820BD003E42D2005D5D9B00FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFA0755300D8874A00C566
          2100BD581100BD571000BA5E1000BA5E100086460C00D4C7C200FFFFFF00BE65
          1500BD561100C8692700CD834A00A1816800F8F8F80055A266004CDB690021C5
          42000FBD300000831600008316000FBD30000083160000000000000000000000
          00000FBD2F0027C846004BCF68006AA376005353A0004A4DD8002126C5001118
          BD001017BD00C5C6E300FFFFFF00C3C4D500FFFFFF00C4C6E3001117BD001119
          BD00272DC8004A4BCD00686AA100FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFAC8B7000C9875300D57E
          3D00C3601800C05C1100FFFFFF00D4C7C20089470C00D2C1B800FEFEFE00BD65
          1500C4641C00DB884700B97E4E00B9A49200FEFEFE0071AE7F0055CB70003DD5
          5D0018C33B0011C0350010C0340011C035000EC0310000851600000000000000
          000019C43B0047DB670050BB680094BB9D007070AC005354C9003D40D500181D
          C3001115C000FFFFFF00C3C4D5000A0D7600C3C4D500FFFFFF001116C0001C20
          C4004749DB004E4EB9009294B900FFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFD7CEC800A9714200EFA7
          6D00D27E3B00C7651C00572E0800FFFFFF00F7ECE200F8EEE500A78C7700BE59
          0D00D6824000F0A97100A3653500FFFFFFFF00000000C9D9CC0044AB5C006DEF
          8B003BD25D001CC73F0013C4390011C3370010C235000EC33200028718000A8A
          1F003AD55A0073F2900037A55000EDEDED00C8C8D7004242A9006D6DEF003B3C
          D2001C20C7000A0C6A000A0C78001014C2000A0C78000A0C6A002021C8004042
          D6007171F0003536A300FFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFB2896700C990
          6000EDAC7300DB8D4D00CE7F2F00955B21006C3F140094591F00D1712700DB86
          4200F0B07900BE875A00BA977C00FFFFFFFF00000000FAFAFA0069B47A0061CB
          7B0073ED91004DDB6E0035D259002BCE510027CD4B002ACE4F0036D25B0052DD
          720079F096005CC173007EBC8C00FEFEFE00FFFFFFFF6767B2006160C9007573
          ED004D4DDB003535D2002B2BCE002729CD002A2BCE003736D2005252DD007B79
          F0005A5ABE007C7CBA00FFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFAC79
          4F00CC956600F6BE8A00EBAF7600E6A46800E4A06400E6A46900EDB07900F7C0
          8C00C58F6000B2856100FFFFFFFFFFFFFFFF0000000000000000ECF2ED0050AE
          650068CE81008AF6A70076EB950068E6880064E4840069E6890079ED97008CF7
          A90062C77A0062B47400F8F8F80000000000FFFFFFFFFFFFFFFF4F4FAC006766
          CC008E8AF6007A76EB006B68E6006764E4006C69E6007C79ED00908CF7006260
          C5006161B200FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFB5876400B8835700DDA97B00F2BF8E00F1BD8D00F1BF8F00DAA57700B37D
          5100BA906F00FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000EBF2
          ED0065B7770059BA70007DDF950090F4AB008FF3AA0091F3AA0078DC920053B5
          690071BC8200F7F9F7000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF6464
          B5005757B8007D7BDD00928EF200908DF100928FF1007977DA005151B3006F6F
          BA00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000FFFFFF00FFFFFFFFFFFFFFFFFFFF
          FFFFFFFFFFFFDECCBE00BB916E00A9714300A9704300A9714400BE977800E4D6
          CA00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          000000000000BFE0C70070BD810045AB5C0045AB5C0046AB5C0079C08A00CBE6
          D10000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF
          FFFFBEBFDE006E70BB004344A9004343A9004446A9007878BE00CACAE400FFFF
          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
          0000000000000000000000000000000000000000000000000000000000000000
          000000000000000000000000000000000000424D3E000000000000003E000000
          2800000040000000100000000100010000000000800000000000000000000000
          000000000000000000000000FFFFFF000000F007000000000000E00300000000
          0000C00100000000000080000000000000008000000000000000010000000000
          0000038000000000000007C000000000000006E0000000000000007000000000
          0000003000000000000080000000000000008000000000000000C00100000000
          0000E003000000000000F80F0000000000000000000000000000000000000000
          000000000000}
      end
      object RtcClientModule1: TRtcClientModule
        Client = RtcHttpClient1
        AutoSessions = True
        ModuleFileName = '/mytest'
        FunctionGroup = RtcFunctionGroup1
        Left = 40
        Top = 112
      end
      object RtcFunctionGroup1: TRtcFunctionGroup
        Left = 144
        Top = 40
      end
      object RtcResult1: TRtcResult
        OnReturn = RtcResult1Return
        Left = 216
        Top = 48
      end
    end
    

      

  • 相关阅读:
    【递推】【HDU 2073】无限的路 (找规律)
    【省赛】山东省第七届ACM省赛(部分水题)
    【思维】牛客练习赛16 B-漂亮的树
    【搜索】牛客练习赛16 C-任意点 (类似求联通块)
    输入输出
    Python入门——运行python的两种方式&变量&常量
    编程语言分类
    What is an Operating System?
    计算机硬件&编程基础
    《SPA设计与架构》之认识SPA
  • 原文地址:https://www.cnblogs.com/pengshaomin/p/2718579.html
Copyright © 2020-2023  润新知