Hallo zusammen,
erst mal einen schönen dritten Advent an Euch.
Ich habe lange rumgesucht, leider kein brauchbares Ergebnis bekommen. Ich empfange mit TidUDPServer (
Indy) Daten von einem anderen Programm
(Ich bekomme einen String welcher je nach Inhalt ausgewertet wird).
Solange ich in der "
localhost" Umgebung bin, also das andere Programm auf dem gleichen Rechner läuft, funktioniert das super über die
localhost-
IP 127.0.0.1 (+egal welcher Port ab 2000). Ich empfange die Daten und alles ist gut.
Wenn aber das andere Programm von dem ich die Daten bekomme von einem anderen Rechner in meinem Home-Netzwerk (Testumgebung) kommt,
und ich eine
IP wie 192.168.1.20 (oder egal welche) inkl. egal welcher Port verwende, dann erhalte ich die Fehlermeldung beim Start meiner Anwendung:
"Socket konnte nicht gebunden werden. Adresse und Port werden bereits verwendet"
Aber: wenn ich die
IP auf 0.0.0.0 und (egal welcher Port ab 2000) in der Komponente setze, dann bekomme ich vom externen
Rechner meine Daten (da mir der TidUDPServer ALLE IPs mit dem Port abhört. Auch kann ich neben dem
localhost meine eigene
IP
binden (192.168.1.20), da bekomme ich auch keinen Fehler.
Nun meine Frage: warum kann ich keine
IP aus meinem Netzwerk einsetzen?
Facts:
Alle verwendeten Ports auf meinem PC sind frei
Kein weiteres Programm bzw. Dienst blockiert meine Ports
Es betrifft ALLE
IP Adressen von 192.168.1.0 bis 192.168.1.255
PC Firewall hat keine Einschränkungen, auch ausgeschaltet gleicher Fehler
Beim Test im Netzwerk unserer Firma = gleiches Problem
Router = Netgear
Modem=FritzBox
Code:
procedure TForm2.UdpConfig;
var
Binding: TIdSocketHandle;
begin
Try
Form1.IdUDPServer1.Bindings.Clear;
Binding:=Form1.IdUDPServer1.Bindings.Add;
Binding.IP:=192.168.1.100;
Binding.Port:=21100;
Form1.IdUDPServer1.DefaultPort:=21100;
Form1.IdUDPServer1.Active:=True;
except
On E:
Exception do messagedlg(E.Message,mterror, [mbOK], 0, mbOK);
end;
end;
IP-Version = Id_IPv4
RADStudio 10.1 Delphi
Indy 10
Auch wenn ich die TidUDPServer Komponente direkt konfiguriere und das Binding
in der Komponente vorgebe, passiert das Gleiche.
Ich vermute den Fehler bei mir - eventuell habe ich etwas übersehen... am Netzwerk oder den Ports liegt es zu 99% nicht.
Ich komm da jetzt leider nicht mehr weiter und hoffe auf Eure Hilfe.
Danke schon mal!!!
Markus