004
07.11.2005, 21:46 Uhr
0xdeadbeef
Gott (Operator)
|
Wir reden hier ja von relativ kleinen Datenmengen (der Server soll ja nur Verbindungen für die Spiele aushandeln und nicht gleich nen dedizierten Server dafür stellen, oder?), mit einer Überlastung ist daher nicht zu rechnen. Kritischer sind, so wie mir das scheint, Latenzzeiten. Bei Mail und newsgroups in einer solchen Serverapplikation reden wir vor allem von zentralisierter Datenspeicherung, das heißt, eine sinnvolle Datenbankanbindung muss her. Allerdings ist in diesem Fall Geschwindigkeit nicht essentiell, das heißt, bei der Datenbankschnittstelle besteht große Wahlfreiheit.
Was die Latenzzeiten angeht, sind die Socketbibliothek und der Parser von Bedeutung, wobei der Parser im Zweifel deutlich mehr Rechenzeit fressen dürfte. Hier ist vor allem eine vernünftige Protokollwahl von Interesse, es stellt sich auch die Frage, ob alle Anwendungen über das gleiche Protokoll laufen sollen oder ob man einen Server baut, der mehrere Protokolle versteht. Oder ob man halt gleich mehrere Server baut und parallel laufen lässt. In diesem Bereich sind, vor allem unter großer Last, Java und C# im Vergleich mit C bzw. C++ unterlegen, wenn der Programmierer sein Handwerk versteht.
Was den Client angeht, der geht mit deutlich weniger Datenmengen als der Server um, also ist die Sprachwahl da ziemlich egal.
Vor der Wahl der Sprache würde ich mir allerdings Gedanken um das interne Design machen. Es könnte sich in diesem Zusammenhang durchaus als sinnvoller herausstellen, Standardprotokolle und vorhandene Server zu benutzen und lediglich ein Frontend zu entwickeln, dass all diese Server ansprechen kann. Mit einer geeigneten Plugin-Architektur wäre dies dann auch leicht auf weitere Protokolle erweiterbar. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |