Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
ich habe folgendes vor. Ich habe auf dem PC A und dem PC B ein Programm geöffnet. Wenn der Nutzer von PC bei der GUI einen Button klickt, soll beim Nutzer von PC B ein Popup erscheinen. Also muss eine Verbindung zwischen genau diesen Rechnern bestehen. Ich dachte es mir so: Person A und Person B öffnen das Programm. Person A gibt die IP oder etwas ähnliches von Person B an und wenn beide das Programm geöffnet haben, wird eine Verbindung zwischen den beiden Rechnern über das Internet hergestellt. Die Aktionen (z.B. Buttonklicks) sollen über diese Verbindung übertragen werden. Also gibt es einen Sender und einen Empfänger, die ihre Rollen tauschen können.
Nur wie setze ich es praktisch um? Kennt ihr gute Tutorials und Erklärungen? Wie kann ich so etwas realisieren?
Man kann es wie existierende Softwares machen; diese Verbinden sich zuerst über einen Server, dann machen sie sich eigene Schlupflöcher und am Schluss haben sie eine P2P-Verbindung ohne, dass einer der Clients irgendwas offen haben muss.
Praktisch gesehen kannst du aber auch einfach beim "Server"-Rechner den Port von aussen auf dem Router forwarden. Danach kannst du mit der öffentlichen IP dessen darauf zugreifen. Ist bei dynamischen IPs ein Problem - da gibts aber DynDNS etc
Hättet ihr dazu eventuell ein gutes Tutorial, da ich so etwas noch nie gemacht habe? Kann man keine Verbindung mittels Socket über das Internet aufbauen? Wie machen es denn die ganzen Spiele, wo man z.B. gegen einen anderen Spieler via IP spielt? Ich bräuchte dringend Hilfe.
Also, als Beispiel: Ich will mit meinem Computer zu Hause kommunizieren. Dort lasse ich einen [c]ServerSocket[/c] laufen. Meine interne IP sei 192.168.1.2 und die öffentliche IP 62.202.26.177 (faetzminator.ch). So geh ich einfach auf den Router, und konfigurier ein Port Forward von diesem Port xy auf 192.168.1.2. Wenn ich nun von aussen (per IP oder faetzminator.ch) auf den Port xy zugreife, habe ich eine Verbindung mit diesem Computer hergestellt.
Umgekehrt geht das natürlich nicht, da ich hier bei der Arbeit nicht einfach ein Port Forward auf diesen Computer einrichten kann.
Als Alternative kann ich z.B. beide Computer auf einen Server verbinden lassen, welcher die Daten an den anderen Socket weiterleitet.
Das kann soweit erweitert werden, dass mit ein paar Tricks die beiden Clients durch den geöffneten Socket mit sich selbst (direkt, also P2P) kommunizieren können, ohne die Firewall (auf dem Router, Computer, ...) zu öffnen. Leider ist mir der Name dieser Technik gerade entfallen, so dass ich keine "Anleitung" dafür finde. Aber AFAIK basiert es auf UDP (und nicht TCP) und wird von Programmen wie Skype (oder auch Torrent-Clients?) verwendet - aber eben, das geistert nur gerade bei mir im Kopf rum.
Danke für die Info. Dennoch suche ich nach einem Tutorial mit Code, um es besser zu verstehen. Im Bereich der Netzwerkprogrammierung bin ich eher noch ein Neuling
Der (Domain-)Name oder die IP, ja. Also im LAN z.B. [c]192.168.1.53[/c] oder [c]fritzComputer[/c] und im Internet [c]62.202.26.177[/c] oder [c]faetzminator.ch[/c].
Mach dich doch ein Mal über Netzwerke schlau.
Natürlich hat jeder, der am Internet verbunden ist, eine öffentliche IP. Bzw. jedes Netz hat eine (oder mehrere). Wie oben bereits erwähnt gibts da Dyndns als Aushilfe bei nicht-statischen IPs (die meisten privaten User haben dynamische IPs).
Ich will (und kann) nicht weiter auf Netzwerkfragen eingehen - wir sind hier ein Java- und kein Netzwerkforum Ansonsten kann es ein Mod mal ins Netzwerk-Unterforum verschieben.
Eine Frage noch: Ist die öffentliche IP die IP Adresse, die ich über die Seite Wie ist meine IP-Adresse? erhalte? Also sozusagen die IP, über die ich im Internet surfe?
Eine Frage noch: Ist die öffentliche IP die IP Adresse, die ich über die Seite Wie ist meine IP-Adresse? erhalte? Also sozusagen die IP, über die ich im Internet surfe?
Wie gesagt, mit DynDNS kannst du eine dynamische IP an eine (Sub-)Domain binden, und das erst noch gratis. Danach kannst du nach belieben z.B. auf [c]faetzminator.dyndns.org[/c] zugreifen und dein Router updated DynDNS immer mit der neusten IP. DynDNS ? Wikipedia