Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TIdUDPServer/Client (https://www.delphipraxis.net/95877-tidudpserver-client.html)

Reddog 15. Jul 2007 03:20


TIdUDPServer/Client
 
Hallo,

ich versuche in letzter Zeit ein Spiel von mir was mit Indy 9 soweit ich mich erinnere funktioniert hat mit Indy 10 hinzukriegen. Sollte ja kein großes Problem darstellen...

Jedefalls hab ich, um es mal auszuprobieren ein kleines Prog geschrieben. Das besteht lediglich aus einem TIdUDPServer und einem Client. Der Client verschickt ein Test-Packet und das wird vom Server empfangen. Schaut so aus:

Delphi-Quellcode:

procedure TMain.Button1Click(Sender: TObject);
begin
  Server.DefaultPort:= StrToInt(PortEdit.Text);
  Server.Active:= true;
  Client.Host:= IPEdit.Text;
  Client.Port:= StrToInt(PortEdit.Text);
  Client.Send('Test');
end;

procedure TMain.ServerUDPRead(Sender: TObject; AData: TBytes;
  ABinding: TIdSocketHandle);
begin
  Log.Lines.Add(string(AData));
end;
IPEdit und PortEdit sind die entsprechenden Edit-Felder. (ist aber wohl selbsterklärend :))

Das funktioniert auch sehr gut solange ich mich in dem localen Netz befinde. Aber wenn ich versuche dasselbe an meine Internet IP-Adresse zu schicken, dann passiert nichts. Ich hab auch schon den Port beim Router geforwardet (unschönes Wort). Wo liegt da der denkfehler?

Naja, bin dankbar für jede Hilfe.
Ciao,
Reddog

marabu 15. Jul 2007 09:52

Re: TIdUDPServer/Client
 
Hallo,

muss ich dich so verstehen, dass du mit dem gezeigten Test-Code und deiner Internet IP-Adresse in IPEdit.Text testest und keinen Eintrag im Log findest? Ohne dass du die Adresse vorher zur Liste der abzuhörenden Adressen (Bindings) hinzugefügt hast?

Grüße vom marabu

r2c2 15. Jul 2007 10:02

Re: TIdUDPServer/Client
 
Zitat:

Zitat von Reddog
Ich hab auch schon den Port beim Router geforwardet (unschönes Wort). Wo liegt da der denkfehler?

Was genau hast du da eingetragen...?

mfg

Christian

Reddog 15. Jul 2007 10:28

Re: TIdUDPServer/Client
 
Danke für die Antworten schon mal.

Zitat:

muss ich dich so verstehen, dass du mit dem gezeigten Test-Code und deiner Internet IP-Adresse in IPEdit.Text testest und keinen Eintrag im Log findest?
Genau

Zitat:

Ohne dass du die Adresse vorher zur Liste der abzuhörenden Adressen (Bindings) hinzugefügt hast?
Naja ich setzte DefaultPort beim Server und setzte Active auf true. Erstellt er da nicht selbst ein entsprechendes Binding. Außerdem, ist das nicht so, dass der Server nur auf einem bestimmten Port horcht und nicht auf eine Adresse?

Zitat:

Was genau hast du da eingetragen...?
Beim Port-forwarding im Router hab ich den Port 10000 geforwardet. Soviel Einstellungen gibt's bei meinem Router da nicht, er unterscheidet auch nicht zwischen UDP und TCP (wie's bei einer Fritz-Box bei mir war). Naja jedenfalls benutz ich dann genau den selben Port zum Senden. Muss vielleicht mal im Router-Log kucken, ob der was reinbekommt. Dachte aber, vielleicht mach ich irgendeinen offensichtlichen Fehler.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz