Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
58
Task/Echo-server/Delphi/echo-server.delphi
Normal file
58
Task/Echo-server/Delphi/echo-server.delphi
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
program EchoServer;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
uses SysUtils, IdContext, IdTCPServer;
|
||||
|
||||
type
|
||||
TEchoServer = class
|
||||
private
|
||||
FTCPServer: TIdTCPServer;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure TCPServerExecute(AContext: TIdContext);
|
||||
end;
|
||||
|
||||
constructor TEchoServer.Create;
|
||||
begin
|
||||
FTCPServer := TIdTCPServer.Create(nil);
|
||||
FTCPServer.DefaultPort := 12321;
|
||||
FTCPServer.OnExecute := TCPServerExecute;
|
||||
FTCPServer.Active := True;
|
||||
end;
|
||||
|
||||
destructor TEchoServer.Destroy;
|
||||
begin
|
||||
FTCPServer.Active := False;
|
||||
FTCPServer.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TEchoServer.TCPServerExecute(AContext: TIdContext);
|
||||
var
|
||||
lCmdLine: string;
|
||||
begin
|
||||
lCmdLine := AContext.Connection.IOHandler.ReadLn;
|
||||
Writeln('>' + lCmdLine);
|
||||
AContext.Connection.IOHandler.Writeln('>' + lCmdLine);
|
||||
|
||||
if SameText(lCmdLine, 'QUIT') then
|
||||
begin
|
||||
AContext.Connection.IOHandler.Writeln('Disconnecting');
|
||||
AContext.Connection.Disconnect;
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
lEchoServer: TEchoServer;
|
||||
begin
|
||||
lEchoServer := TEchoServer.Create;
|
||||
try
|
||||
Writeln('Delphi Echo Server');
|
||||
Writeln('Press Enter to quit');
|
||||
Readln;
|
||||
finally
|
||||
lEchoServer.Free;
|
||||
end;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue