Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Client - Server - Admin (https://www.delphipraxis.net/83662-client-server-admin.html)

Antigo 5. Jan 2007 14:30


Client - Server - Admin
 
Hi,
toller Titel ich weiss, aber mir ist wirklich kein besserer eingefallen. Er beschreibt aber sehr gut die Situation.

Es sieht so aus, das wir in einer Gruppe ein Netzwerk Spiel entwickeln, bzw. bald in die Testphase übergehen.
Um das ganze besser aufzuteilen haben wir uns damals entschieden das Projekt in 3 Bereichen zu entwickeln, eben Client, Server und Admin.
Der Server hat dabei 2 Sockets, eins für alle Clients und eins für den Admin.

Das ganze läuft dann so ab, das der Server auf dem Admin Port lauscht und der Admin sich schliesslich einwählt. Dann macht er die Grundeinstellungen und übermittelt sie dem Server. Der Server öffnet den Spielport für die CLients und diese können sich einwählen und darauf warten das der Admin das Spiel schließlich freigibt.


So alles schön und gut, solange die Situation ist, dass Admin und Server auf unterschiedlichen PC`s laufen. So war es ursprügnlich geplant. Das heisst, die Server Applikation läuft auf irgendeinem PC und der Admin (im Sinne von Spielstarter) kann sich von jedem beliebigen PC einwählen und ein Spiel starten.
Was ist aber, wenn Admin und Server auf dem selben PC laufen, was vielleicht eher die Regel ist? Der Spielstarter müsste in dem Falle 2 Appliaktionen starten und sich auf dem Server 127.0.0.1 einwählen.

Wie lässt sich das vereinfachen? Sollten wir vielleicht einfach den kompletten Servercode nochmal in den Admin reinpacken, sodass man auswählen kann, ob man sich auf einem Server einwählen kann, oder den Server gleich mitstarten will? In jedem Fall schickt man natürlich sinnlos Daten zur Netzwerkkarte die man auch intern verarbeiten könnte, aber den Server neu zu entwickeln ist keine Option, da das Programm mitte dieses Monats fertig sein muss.
Eine andere Alternative wäre, das Serverprogramm per ShellExcecute oder ähnlichem vom Admin Programm aus zu starten, aber was ist, wenn das Serverprogramm gelöscht wurde?


Lange rede kurzer Sinn: Es geht eigentlich nur darum den Umstand 2 Programme manuell öffnen zu müssen zu umgehen.


hat jemand eine Idee?


danke schonmal.

mfg

Die Muhkuh 5. Jan 2007 14:33

Re: Client - Server - Admin
 
Hi,

die zwei Sockets beim Server laufen ja auf unterschiedlichen Ports.

Baut einfach in den Client 2 Sockets ein. Einer verbindet normal, der andere auf den Adminsocket am Server.

Hab ich das jetzt so richtig verstanden?

Antigo 5. Jan 2007 14:48

Re: Client - Server - Admin
 
Nein ;)

Also das Problem liegt bei der Trennung von Admin und Server. Bei den meisten Programmen ist es so, das Admin und Server in einem sind. Das heisst man öffnet das Serverprogramm, nimmt die Spieleinstellungen vor und startet das Spiel bzw. öffnet damit den Socket für die Clients.

Bei uns ist es jedoch so, das die Konfiguration des Spiels völlig losgelöst vom Serverprogramm ist. Am Server selber stellt man nur ein Passwort und einen Adminport ein auf dem man sich dann mit dem Admin einwählt um alle EInstellungen vorzunehmen. Das haben wir wie gesagt aus 2 Gründen gemacht, erstens weil wir dann die Entwicklung besser aufteilen konnten, und zweitens, damit der Server auf einem Server laufen kann, auf denn man vielleicht nicht immer physikalischen Zugriff hat, und damit man sich quasi "remote mässig" dort einwählen kann.

Unkomfortabel wird es halt nur wenn Admin und Server Programm auf dem selbeln Rechner laufen und man deshalb 2 Programme öffnen muss um ein Spiel zu starten. Und das würde ich gerne mit möglichst wenig Aufwand ändern.

DGL-luke 5. Jan 2007 15:01

Re: Client - Server - Admin
 
Dann würd ich halt in den Server einen Button reinmachen, der den Admin startet.

Ich glaube ihr zerbrecht euch hier den Kopf über etwas, das bei der Deadline dritt- bis viertrangig ist ;-)

Antigo 5. Jan 2007 15:05

Re: Client - Server - Admin
 
Zitat:

Zitat von DGL-luke
Dann würd ich halt in den Server einen Button reinmachen, der den Admin startet.

Ich glaube ihr zerbrecht euch hier den Kopf über etwas, das bei der Deadline dritt- bis viertrangig ist ;-)

Jo, das wär auch eine Möglichkeit, allerdings müsste man dafür ja wissen, wo der Admin liegt und den Fall abfangen, das die Datei nicht da ist.

Im Prinzip hast du recht, so wichtig ist es nicht, aber ich könnte mir halt gut vorstellen das es ziemlich nervt jedesmal 2 Programme starten zu müssen, wenn man ein Spiel hosten will...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz