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