Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

25.08.2012, 00:23

Portweiterleitung unbedingt notwendig?

Hallo zusammen,

ich habe ein Problem mit dem Network Bereich der SFML. Und zwar hab ich 2 Projekte erstellt, eines was den Server und einen was den Client simuliert.
In meinem Router hab ich eine Portregel festgelegt (Portweiterlung) für den Port 13337. Wenn ich nun den Server stelle und jemand anderes auf meinen Server zugreifen will dann funktioniert das ohne Probleme (vorausgesetzt ich benutze meinen Tower-PC). Sobald ich meinen Laptop benutze funktioniert es nicht (an den Firewall Einstellungen liegt es nicht).

Wenn jemand anderes den Server stellt, funktioniert es ebenso nicht (wir haben es mit 2 anderen PC getestet). Jede andere Konstellation funktioniert auch nicht. Es funktioniert, wie gesagt nur wenn mein Tower den Server stellt und andere drauf connecten wollen.

Ich denke es ist nicht nötig Programmcode zu zeigen, weil es ja funktioniert... sollte an irgendwas externem liegen.
Muss man Ports immer manuell freilegen? Wir haben verschiedene Ports getestet.

Ich wäre euch sehr dankbar, wenn ihr vllt ne Idee hättet.
Wie machen das andere Games, bei dem man server hosten kann? Bei denen muss man ja keine Portweiterlung machen... :((

Liebe Grüße
Lukas :))

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

25.08.2012, 00:31

Nun, wenn du von außern übers Internet eine Verbindung zu einem Rechner aufbauen willst, der hinter einer NAT (Router) liegt, dann brauchst du ein Portforwarding des entsprechenden Port zum entsprechenden Rechner, sonst werden die Pakete nie dort ankommen...

3

25.08.2012, 00:38

danke für die schnelle Antwort.
womit mache ich portforwarding vom Programm aus? bietet die sfml passende funktionen für das oder benötige ich hierfür eine weitere lib?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

25.08.2012, 00:43

Am besten gar nicht. Das ist etwas, das der User machen muss...

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

5

25.08.2012, 00:45

Naja wenn der Benutzer das im Router aktiviert hat ist UPnP natürlich eine feine Sache

6

25.08.2012, 00:49

Es wäre benutzerfreundlich, wenn der Port, über den der Datenverkehr stattfinden soll, schon bei der installation des SPiels angemeldet (forwarded) wird.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

25.08.2012, 00:51

Und wie stellst du dir das vor? Das Problem fängt ja schon dort an, überhaupt mal rauszufinden, an welchen Rechner geforwardet werden soll? Die IP Adresse des Rechners im LAN ist mit hoher Wahrscheinlichkeit dynamisch (DHCP) oder der Rechner gar überhaupt Teil mehrerer Netzwerke. Natürlich kann man sich alles mögliche überlegen und mit relativ großem Aufwand kann man vermutlich sogar was basteln, das in einfachen Fällen sogar funktioniert; aber für sinnvoll halte ich das nicht...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (25.08.2012, 00:57)


8

25.08.2012, 00:56

Öhm... ich dachte es geht beim port- forwarding darum einen Port freizugeben über den das programm nach aussen hin (aus dem netz in dem sich der rechner befindet heraus) eine verbindung aufbauen kann. Mit wem diese verbindung aufgebaut werden soll ist ja erstmal irrelevant.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

25.08.2012, 00:58

Nein, beim Port forwarding geht es darum, der NAT (dem Router) zu sagen, dass Pakete die von außen auf einen bestimmen Port ankommen an einen bestimmten Rechner im LAN weitergeleitet werden...

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

10

25.08.2012, 00:58

Nein. Eine Verbindung nach außen geht immer (NAT Punch-Through), eine eingehende Verbindung wird aber vom Router geblockt wenn es keine Forwarding Rule gibt, die dem Router sagt wohin das Paket gesendet werden soll.

@dot:
UPnP kümmert sich um das ganze Zeugs mit dynamischen IPs und verschiedenen Netzwerken.

Werbeanzeige