Hallo Leute,
ich habe mal eine Frage allgemein die Netzwerkprogrammierung betreffend, aber natürlich für Delphi:
Wenn man ein eigenes Programm schreibt mit den
Indy-Komponenten oder ähnlichem, so verbinden sich der Server und der Client - angenommen auf verschieden Computern laufend - über den angegebenen Port.
Wenn das Programm nun aber zwischen einem Computer hinter einem Router, zu einem anderen Computer hinter einem anderen Router über das Internet verbinden soll,
so kommt bei den Programmen in der Regel nichts an, denn der Router blockiert sie.
Die Lösung ist ja, in den Routern die Portfreigaben einzurichten, sodass sie die Anfrage an dem Port automatisch an den betreffenden Computer weiterleiten.
Nimmt man nun allerdings mal ein Programm wie TeamViewer, bei dem jede Version ersteinmal mit dem TeamViewer-Server Kontakt aufnimmt, der dann anhand der ID zu dem gewünschten Partner, also Computer, weiterleitet.
Aber auch die Anfrage des TeamViewer-Server muss ja an dem Router vorbei.
So nun die eigentliche Frage: Wie machen die das?
Verwenden die nicht das
TCP/
IP-Protokoll oder benutzen die einen Port der automatisch freigegeben ist/wird?
Denn mich ärgert es jedesmal wenn ich ein Programm testen will, und dann erst per TeamViewer bei einem Freund eine Portfreigabe einrichten muss, dasselbe bei mir und es erst DANN losgehen kann - für jedes einzelne Programm -.-
Damit soll endlich Schluß sein...
Weiß darüber jemand etwas?
GreetZ 64Jabor