Also ich habe eine Form mit TIdTCPServer und verknüpften TIdServerIOHandlerStack.
Delphi-Quellcode:
procedure TMyForm.FormCreate(Sender: TObject);
begin
IdTCPServer1.DefaultPort := 44001;
end;
procedure TMyForm.FormDestroy(Sender: TObject);
begin
IdTCPServer1.Active := False;
end;
procedure TMyForm.IdTCPServer1Connect(AContext: TIdContext);
begin
if Assigned(LogSL)
then
begin
LogSL.Add('
A client connected');
end;
end;
procedure TMyForm.IdTCPServer1Disconnect(AContext: TIdContext);
begin
if Assigned(LogSL)
then
begin
LogSL.Add('
A client disconnected');
end;
end;
procedure TMyForm.IdTCPServer1Exception(AContext: TIdContext;
AException:
Exception);
begin
if Assigned(LogSL)
then
begin
LogSL.Add('
A exception happend !');
end;
end;
procedure TMyForm.IdTCPServer1Execute(AContext: TIdContext);
var
tmpStr :
String;
begin
if IdTCPServer1.Active
then
begin
if not AContext.Connection.IOHandler.InputBufferIsEmpty
then
begin
tmpStr := AContext.Connection.IOHandler.ReadLn('
#~#*', 300, -1);
LogSL.Add(tmpStr);
Timer1.Enabled := True;
end;
end;
end;
Das ist im groben alles...