Die für mich vielleicht die einfachste Lösung ist:
TServerSocket einfach wie gehabt weiterverwenden.
Es muss ja kein Icon im Designer verwendet werden, man kann das Socket ja auch zur Laufzeit erzeugen.
Wie das so immer mit dem Bäumen im Wald ist.
Also
Delphi-Quellcode:
TMainForm =
class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
public
procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
ServerSocket1 := TServerSocket.Create(self);
try
ServerSocket1.Port := 4711;
ServerSocket1.OnClientRead := ServerSocket1ClientRead;
ServerSocket1.Open;
except
on E:
Exception do
irgendetwas;
end;
end;
procedure TMainForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if ServerSocket1 <>
nil then
begin
ServerSocket1.Close;
ServerSocket1.Free;
end;
end;
procedure TMainForm.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
nachricht:
string;
begin
nachricht:=
string(Socket.ReceiveText);
if nachricht = '
hallo'
then
Socket.SendText(ansistring('
hallo empfangen'));
end;
end;
Damit läuft es auch. Die Frage hat sich somit erledigt.
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...