delphi 在控制台应用程序中使用indy  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 在控制台应用程序中使用indy


program IndyConsoleApp;


{$APPTYPE CONSOLE}


{$R *.res}


uses

  System.SysUtils, IdContext, IdBaseComponent, IdComponent, IdCustomTCPServer,

  IdTCPServer, IdGlobal;


var

  IdTCPServer1: TIdTCPServer;


procedure ShowStartServerdMessage;

begin

  WriteLn('START SERVER  @' + TimeToStr(now));

end;


procedure StopStartServerdMessage;

begin

  WriteLn('STOP SERVER  @' + TimeToStr(now));

end;


type

  TCPServerEvents = class

    class procedure OnExecute(AContext: TIdContext);

  end;


class procedure TCPServerEvents.OnExecute(AContext: TIdContext);

var

  LLine: String;

begin

  LLine := AContext.Connection.IOHandler.ReadLn();

  writeln(LLine);

  AContext.Connection.IOHandler.WriteLn('OK');

end;


begin

  try

    IdTCPServer1 := TIdTCPServer.Create;

    try

      with IdTCPServer1.Bindings.Add do

      begin

        IP   := '127.0.0.1';

        Port := 6000;

      end;

      IdTCPServer1.OnExecute := TCPServerEvents.OnExecute;

      IdTCPServer1.Active := True;

      try

        ShowStartServerdMessage;

        Readln;

      finally

        IdTCPServer1.Active := False;

        StopStartServerdMessage;

      end;

    finally

      IdTCPServer1.Free;

    end;

  except

    on E: Exception do

      WriteLn(E.ClassName, ': ', E.Message);

  end;

end.



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.071024894714355 seconds