OK, ein bisschen was hab ich jetzt schon hinbekommen. Ich verwende momentan den mitgelieferten BasicClient und versuche einen Server zu schreiben, zu dem sich der Client verbinden kann. Der Server soll dann erstmal nicht mehr machen, als die
IP des Clients auszugeben.
Das verbinden funktioniert schon, auch die Procedure ClientConnect wird nach dem Verbinden aufgerufen. Nur gibt der mir leider keine
IP aus, sondern nur nen leeres ShowMessage-Fenster.
Hier mein Code:
Delphi-Quellcode:
procedure TForm1.ClientConnect(AThread:TIdContext);
begin
ShowMessage (AThread.Connection.Socket.Host);
end;
procedure TForm1.btnStartStoppClick(Sender: TObject);
var
Binding: TIdSocketHandle;
begin
if (IdTCPServer1.Active) then begin
IdTCPServer1.Active := false;
btnStartStopp.Caption := 'Server starten';
end
else begin
Binding := IdTCPServer1.Bindings.Add;
Binding.IP := '192.168.0.2';
Binding.Port := 8080;
IdTCPServer1.OnConnect := ClientConnect;
IdTCPServer1.Active := true;
btnStartStopp.Caption := 'Server stoppen';
end;
end;
Wie bekomme ich jetzt die
IP des Clients heraus?
PS: Ich teste das ganze momentan lokal, dh. der Server läuft aufm selben Rechner mit der selben
IP wie der Client, aber das dürfte ja eigentlich nicht das Problem sein, oder??