TCP/IP Server Ohne Port Freischaltung

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    Ja, miete einen VServer und kommuniziere mittels diesen.. dann müssen sich beide Klienten lediglich verbinden.. und für das Verbinden ist keine Port-Weiterleitung notwendig. (Wenn ich mich nicht täusche ist das TCP Hole punching)
    Und Gott alleine weiß alles am allerbesten und besser.

    Cheffboss schrieb:

    anstat server to client.
    client zu server.
    Wäre mir sowieso befremdlich wie der Server wissen soll wo der Client sitzt 8o

    @Dominik1806 wie bereits gesagt muss sich der Client immer zum Server verbinden. Hierbei muss im Normalfall keine Firewall-Regel erstellt werden. Außnahmen sind Firewalls die Grundsätzlich alle Verbindungen verbieten. Hier muss natürlich eine Regel gesetzt werden.

    Bluespide schrieb:

    EaranMaleasi schrieb:

    Wäre mir sowieso befremdlich wie der Server wissen soll wo der Client sitzt
    Dabei gehst du davon aus, dass er eine Client schreibt, aber was wenn er eine art Game- oder Chatserver bei sich hosten will.


    Ja, ich will ein Spiel machen und dabei Informationen vermitteln. Ich habe mich auch schon umgeschaut, aber die Programme funktionieren nicht ohne Portfreischaltung oder andere Programme :/
    Wenn du einen Server schreibst, dann connecten sich die Clients zu dir.
    Der Server kann dabei entweder direkt mit einer öffnetlichen IP im Internet hängen und einen offenen Port haben. Dann benötigt man keine Portweiterleitung.
    Liegt der Server hinter einem Router, dann muss man am Router eine Weiterleitung einrichten.

    Möchtest du ein Spiel programmieren, welches sich Peer to Peer über das Internet verbindet, dann wird die Sache etwas schwerer. Im Normalfall verwendet man dafür einen Vermittlungsserver zudem man sich als Client zuerst verbindet. Dieser kann dann eine Peer To Peer Verbindung vermitteln. Dazu muss der Vermittlungsserver entsprechende Informationen über die Endpoints haben und dann kann man das sogenannte Hole punching verwenden (TCP oder UDP).

    Alternativ kann der Server auch permanent die Verbindung halten und die Daten von Client A zu Client B übermittlen. Das wäre das typische Client-Server Modell was m.W. bei den meisten Gameservern und Chatservern der Fall ist.
    Das ist meine Signatur und sie wird wunderbar sein!