Delphi-Quellcode:
procedure TForm1.TCPServerExecute(AContext: TIdContext);
begin
TCPClient.Host := AContext.Binding.PeerIP;
TCPClient.Connect;
if TCPClient.Connected then begin
TCPClient.IOHandler.WriteLn('bla bla');
TCPClient.Disconnect;
end;
end;
Also sobald ich eine Nachricht vom Client erhalte, setze ich als Host seine
Ip ein und möchte zurück senden.
Ich nehme an, TCPClient ist die
Indy Client-Komponente, die sich zuvor mit dem Server verbunden hat?
Die darf der Server darf nicht einfach "wiederverwenden". Eigentlich sollte man, um diesen Fehler auszuschliessen getrennte Projekte anlegen (eines für Clients, und eines für Server).
Der Server hat ja schon seit dem Verbindungsaufbau eine stehende Clientverbindung. Deren Socket (IOHandler) kann vom Server benutzt werden um Daten an den Client zu senden.
Nur muss der Server dazu auch die 'richtige' Connection finden, falls mehrere Clients mit dem Server verbunden sind.
Ich habe aber gerade keinen kompletten Beispielcode zur Hand, eigentlich müßte in den
Indy Demos etwas sein...