Registriert seit: 26. Mai 2004
3.159 Beiträge
|
Re: TIdTCPServer.OnExecute := ???;
19. Sep 2006, 09:46
Hey, also ich würde das ganze vielleicht mal so anfangen - gehe jetzt einfach mal davon aus, dass du auch Indy 10 verwendest
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, IdTCPServer, IdSocketHandle, IdContext; // Zwei weitere Units nötig!
type
TTCPServer = class
private
IdTCPServer: TIdTCPServer;
procedure IdTCPServerOnExecute(AContext: TIdContext);
public
constructor Create; reintroduce;
end;
var
mread: String;
procedure TTCPServer.IdTCPServerOnExecute(AContext: TIdContext);
begin
// HIER KOMMT DEIN CODE BEI EINER ABFRAGE VOM CLIENT
// Diese Zeile bitte belassen - gegen 100% CPU-Auslastung
SleepEx(1, True);
end
constructor TTCPServer.Create;
var
NewBinding : TIdSocketHandle
begin
IdTCPServer := TIdTCPServer.Create(nil);
IdTCPServer.DefaultPort := 3724;
IdTCPServer.MaxConnections := 100;
IdTCPServer.OnExecute := IdTCPServerOnExecute;
NewBinding := IdTCPServer.Bindnig.Add;
NewBinding.IP := '127.0.0.1'; // solltest noch ändern
NewBinding.Port := 3724; // sollte passen
IdTCPServer.Active := True;
end;
begin
with TTCPServer.Create do
try
writeln( 'running, press [enter] to terminate' ) ; readln(mread);
finally
free;
end;
end.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
|