|
AFAIK analysiert man zuerst die Packets, die zwischen Client und Server ausgetauscht werden und versucht dann herauszufinden, was die einzelnen Bytes bedeuten (e.g. 0x01 steht für eine Statusmeldung des Servers [OK] oder 0xAF ist ne Anfrage des Clients, wie viele Spieler [Clients] mit dem Server verbunden sind).
So erstellt man schrittweise das verwendete Protokoll und kann damit den Server programmieren. Wenn man Glück hat, findet man bald heraus, dass das verwendete Protokoll kein eigens ausgedachtes, sonder zweckentfremdes ist, z.B. kann das IRC-Protokoll einfach mal misbraucht werden. In solchen Fällen kann man sich die Packet-Analyse sparen und einfach die Dokumentation des Protokolls zu Rate ziehen und dann damit den Server programmieren.
Tatsache ist, dass die Programmiersprache ziemlich egal ist, in der du das realisierst. Sie sollte nur grundlegende Socket-Funktionalitäten liefern, weil das ganze sonst ziemlich schwer wird. Bevorzugt wird meistens C/C++, da schnell und im Prinzip Plattformunabhängig, sodass es auch auf einem UNIX-Server laufen würde, wenn man nur die richtigen Libs verwendet. Ich rate zu boost::asio.
|