Seite 1 von 1

Server-Client-Modell mit MVC

Verfasst: Mo Jan 14, 2013 5:32 pm
von Glocke
Hallo :)

gehen wir mal von einem Programm aus, das dem Designpattern "Model-View-Controller" entspricht. Dabei wird das "Observer"-Pattern verwendet. Nun soll dieses Programm um Netzwerk-Funktionalität hinsichtlich des Server-Client-Modells erweitert werden. Mein Ansatz (ohne Verwendung eines Servers mit Client-Funktionalität) wäre der folgende:
  • Der Server erhält das Model und einen Server-Controller.
  • Der Client erhält die View und einen Client-Controller.
  • Die Aktionen des Clients (die vorher direkt ans Model liefen) gelangen nun über TCP oder UDP an den Server.
  • Eingehende Aktionen reicht der Server-Controller an das Model weiter.
  • Das Model verarbeitet die eingehenden Daten und gibt dem Server-Controller die Aufgabe, eine Antwort (Update der Spielerposition usw.) an den oder die Clients zu senden. Das tut der Server-Controller.
  • Der Client-Controller erhält die Antworten (die indirekt vom Model kommen) und gibt sie (wie bisher) an die View weiter, um die Darstellung zu modifizieren
Ist das bis hierhin erstmal gängige Praxis?

LG Glocke

Re: Server-Client-Modell mit MVC

Verfasst: Mo Jan 14, 2013 8:20 pm
von darksider3
Hey,
ich denke das hier kann dir bei der ganzen Sache helfen. Da ich keine erfahrung mit Server-Client Modellen habe, und dass schon gar nicht in Verbindung mit MVC, scheint es diese Frage oft zu geben...einfach mal Google fragen :-)
Edit: Das hier(LINK )scheint ganz hilfreich zu sein
Mfg

Re: Server-Client-Modell mit MVC

Verfasst: Mo Jan 14, 2013 8:56 pm
von Glocke
darksider3 hat geschrieben:Das hier(LINK )scheint ganz hilfreich zu sein
Das war mir damals schon keine Hilfe :D

Ich schau mir mal den anderen Link an, dessen Autor ich nicht bin :P

LG Glocke

Re: Server-Client-Modell mit MVC

Verfasst: Mo Jan 14, 2013 8:59 pm
von darksider3
Das war mir damals schon keine Hilfe
Verdammt nicht auf den Namen des Users geachtet...Sorry^^
Naja, bei stackoverflow findet man ja eigentlich alles von Hello World Problemen bis zu MC basierter Programmierung mit Ports oder wie man das dort nennt...^^

Mfg

Re: Server-Client-Modell mit MVC

Verfasst: Mo Jan 14, 2013 9:07 pm
von Glocke
darksider3 hat geschrieben:ich denke das hier kann dir bei der ganzen Sache helfen.
Also wenn ich das richtig verstanden habe, bin ich mit meinem Konzept auf dem richtige Weg :lol:

Re: Server-Client-Modell mit MVC

Verfasst: Mo Jan 14, 2013 9:22 pm
von darksider3
Hmm, das wichtigste ist wohl(gefiltert):
Also, you can have multiple instances of MVC working together in one application, distributed over client and server.

Some of the things I would look at:

network: How much data needs to be shuttled between client and server? How many requests will an application typically send? (too much may saturate the network or cause other trouble)

responsiveness: higher responsiveness can require you to put more in the client

security: everything that goes over the wire may be less secure

performance: if you need high performance, you may need components on the server

expected loads: you may decide to put more components client-side to offload the server, instead of clustering your backend for example

etc.
Jo, scheinst gut dabei zu sein...ich hoffe das hat dir nun mehr geholfen als die ubuntuuser :D

Re: Server-Client-Modell mit MVC

Verfasst: Di Jan 15, 2013 10:31 am
von Xin
Glocke hat geschrieben:Hallo :)

gehen wir mal von einem Programm aus, das dem Designpattern "Model-View-Controller" entspricht. Dabei wird das "Observer"-Pattern verwendet. Nun soll dieses Programm um Netzwerk-Funktionalität hinsichtlich des Server-Client-Modells erweitert werden. Mein Ansatz (ohne Verwendung eines Servers mit Client-Funktionalität) wäre der folgende:
  • Der Server erhält das Model und einen Server-Controller.
  • Der Client erhält die View und einen Client-Controller.
  • Die Aktionen des Clients (die vorher direkt ans Model liefen) gelangen nun über TCP oder UDP an den Server.
  • Eingehende Aktionen reicht der Server-Controller an das Model weiter.
  • Das Model verarbeitet die eingehenden Daten und gibt dem Server-Controller die Aufgabe, eine Antwort (Update der Spielerposition usw.) an den oder die Clients zu senden. Das tut der Server-Controller.
  • Der Client-Controller erhält die Antworten (die indirekt vom Model kommen) und gibt sie (wie bisher) an die View weiter, um die Darstellung zu modifizieren
Ist das bis hierhin erstmal gängige Praxis?

LG Glocke
Im Prinzip setzt Du zwischen die Kommunikation von Controller und View eine Netzwerkverbindung. Sie rufen also nicht nur einfach Funktionen, sondern diese Funktionen senden ihren Informationen über das Netzwerk, die entsprechende Gegenstelle ruft dann die Funktion, die erreicht werden sollte.

Ob das gängige Praxis ist, weiß ich nicht. Sah bei mir aber auch nicht anders aus.
Es ist erstens logisch und zweitens wüsste ich auch nicht, wie man es anders machen sollte. ;-)

Re: Server-Client-Modell mit MVC

Verfasst: Di Jan 15, 2013 3:13 pm
von Glocke
Xin hat geschrieben:Ob das gängige Praxis ist, weiß ich nicht. Sah bei mir aber auch nicht anders aus.
Es ist erstens logisch und zweitens wüsste ich auch nicht, wie man es anders machen sollte. ;-
Die Aussage ist mir ehrlich gesagt sehr viel wert :) Danke!

LG Glocke