Hallo
Ich habs nun einmal getestet.
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils,
idTCPServer,
idGlobal;
type
TServer = class(TObject)
private
FIdServer: TIdTCPServer;
procedure FIdServerConnect(AThread: TIdPeerThread);
procedure FIdServerExecute(AThread: TIdPeerThread);
procedure FIdServerDisconnect(AThread: TIdPeerThread);
public
constructor Create;
destructor Destroy;
end;
const
Servername = 'TEST';
var
FServer: TServer;
ValEingabe: string;
{ TServer }
constructor TServer.Create;
begin
FIdServer := TIdTCPServer.Create(nil);
FIdServer.OnConnect := FIdServerConnect;
FIdServer.OnDisconnect := FIdServerDisconnect;
FIdServer.OnExecute := FIdServerExecute;
FIdServer.DefaultPort := 55443;
FIdServer.Active := True;
end;
destructor TServer.Destroy;
begin
FIdServer.Active := False;
FIdServer.Free;
end;
procedure TServer.FIdServerConnect(AThread: TIdPeerThread);
var
SID: Integer;
begin
SID := Integer(AThread);
Writeln('Client Connected ' + InttoStr(SID));
end;
procedure TServer.FIdServerDisconnect(AThread: TIdPeerThread);
begin
WriteLn('Client Disconnected ' + AThread.Connection.Socket.Binding.IP);
end;
procedure TServer.FIdServerExecute(AThread: TIdPeerThread);
begin
Sleep(10);
end;
begin
WriteLn('Starte');
FServer := TServer.Create;
repeat
Readln(ValEingabe);
until UpperCase(ValEingabe) = 'EXIT';
FServer.Free;
end.
Was ich aber nun noch gerne wissen möchte, warum werden Events nicht vom ServerSocket ausgeführt?
Dies war ja für mich der Grund warum ich es umstellen wollte, gehört also noch zum aktuellen Problem.
Danke @DataCool Hätte es sonst nicht noch einmal getestet, da man meist liest, das es nicht Problemlos gehen würde.
Cyber