TcpChannel in "Server/Client - Server/Client"-Anwendung



  • Hallo,

    für ein Spiel im "Player vs. Player"-Modus über Netzwerk verwende ich den Tcp-Channel von .net (version 2.0). Für diesen Modus müssen ständig Punkte-Werte übertragen werden, die ich momentan durch jeweils eine Remote-Klasse "übertrage".

    Mein Problem ist nun die Kopplung der beiden eigentlich identischen Anwendungen. Bisher muss jede Anwendung die IP des Remote-Computers kennen, damit jeweils auf die Remote-Klasse zugegriffen werden kann.

    Da ich noch nicht sehr erfahren auf diesem Gebiet bin, habe ich folgende Fragen:

    ist es sinnvoll, dass beide Anwendungen jeweils als Client und Server fungieren oder ist es sinnvoller, den Client ständig Anfragen an den Server stellen zu lassen, wie viele Punkte der Server an ihn übertragen hätte und zusätzlich die Punkte von ihm an den Server zu übermitteln?! Dadurch würde sich natürlich das Problem der Remote-IP für den Server lösen.

    Server <---------------------- Client
                Übermittlung:
              Punkte von Client!
    
    Server <----------------------- Client
         |        Anfrage:           |
         |    Wie viele Punkte von   |
         |         Server?           |
         |                           |
         |                           |
          - - - - - - > - - - - - - -
                  Antwort:
              Punkte von Server!
    

    Das Problem: der Client müsste ggf. jede Menge "sinnlose" Anfragen stellen bzw. würde es sicherlich zu Delays kommen?!

    Falls es doch "ok" ist, beide Anwendungen als Server/Client laufen zu lassen, finde ich es nicht sinnvoll, dass man beiden Anwendungen die Remote-IP manuell zuweisen müsste. Wenn der Server ein Paket des Client bekommt, müsste doch dadurch die IP des Clients herauszufinden sein, sodass nur der Client die IP des Servers wissen muss.

    Ich hoffe, dass man das Problem halbwegs verstehen kann. Falls nicht, bemühe ich mich gerne einer genaueren Erklärung.

    Viele Grüße


Anmelden zum Antworten