Wie kommuniziert ein PC über den Router zu einem Server?
Hallo, ich schreibe gerade eben ein Programm in Python was mit einem anderen Pc kommunizieren soll.
das Problem ist aber das wir nichts an den Router Einstellungen ändern können.
Also ist meine frage wie kommuniziert z.b. ein spiel mit dem server ohne das es Änderungen am Router unternimmt?
2 Antworten
Prinzipiell ist wichtig, ob der "andere PC" im gleichen Netzwerk ist oder nicht.
Wenn ja, sollte die Kommunikation direkt funktionieren.
Wenn nein: Damit ein Gerät von außerhalb des Netzwerkes mit einem Gerät im Netzwerk kommunizieren kann, muss entweder schon eine Verbindung bestehen (weil eben z.B. dein Rechner eine Verbindung mit einem öffentlichen Server aufgebaut hat) oder es muss eine Regel in der Firewall geben, die neue Verbindungen über einen gewissen Port zulässt.
Am Ende kommt es natürlich darauf an, wie der Router konfiguriert ist. Die meisten Consumer-Router lassen von innen alles raus (und die Antworten auf entsprechende Pakete zurück), aber von außen wird alles blockiert
Vom PC aus kannst du es aktivieren, indem du auf die Verwaltungsoberfläche des Routers zugreifst.
Du könntest ein Tool wie Ngrok nutzen, welches aus dem Netzwerk selbst eine Verbindung zu den Ngrok-Servern aufbaut und somit eine Portfreigabe "simuliert" - der externe Partner kommuniziert dann mit dem Ngrok-Server, welcher alle Anfragen weiterleitet.
Alternativ kannst du natürlich auch ein VPN aufbauen - entweder benötigt das jedoch (für den VPN-Server) eine Portfreigabe oder du nutzt ein Tool wie Hamachi
Vielen Vielen dank für deinen Tipp!
Ich werde mich dann gleichmal hinsetzten und das probieren
Wenn jedes Programm Änderungen am Router vornehmen müsste, wäre das sehr schlecht. Der Router, bzw. die Firewall auf dem Router, lässt alle Anfragen aus dem Heimnetz ins Internet zu und die Antworten wieder zurück. Da bedarf es keiner Änderungen.
Der PC kann alles, was im Heimnetz erreichbar ist, direkt erreichen. Dazu braucht er keinen Router, sondern lediglich einen Switch. Alles, was nicht im Heimnetz erreichen kann, erreicht er über sein Standardgateway. Das ist der Router. Der Router kennt ebenfalls das Heimnetz und kann es erreichen, zudem hat er eine sogenannte Defaultroute, sodass er alle Daten zu ihm unbekannten Zielen in Richtung Provider schickt. Für all das bedarf es keiner Änderungen im Router.
Naja der zweite PC ist in einem anderen Heimnetz. Müsste man nur Enderungen Vollziehen wenn anfragen zu den PC kommen sollen?
Aha, dann musst Du das auch so schreiben. Eine Kommunikation ist nur möglich, wenn der Router des Empfänger-PCs die Daten auch durchlässt. Wenn der Empfänger-PC als Server fungiert, baut der andere PC die Verbindung auf und der Router auf Empfängerseite blockt den Verbindungsaufbau.
Möglichkeit 1: Der Server öffnet per UPnP die notwendigen Ports. Voraussetzung ist, dass auf dem Empfänger-Router UPnP aktiviert ist.
Möglichkeit 2: Es gibt einen dritten Rechner, der (im Internet) für beide Kommunikationspartner erreichbar ist, der die Verbindung vermittelt.
ok vielen dank
Der PC ist in einen Anderen Heim Netzwerk.
Jetzt ist die frage kann man das irgendwie von seinem PC aus aktivieren das der Router anfragen durchlässt?