Sven Rautenberg: REALTIME Schachserver

Beitrag lesen

Moin!

Frage: Welcher Programmiersprache sollte ich mich bedienen, wenn ich einen realtime-Schachserver programmieren möchte ?

Um den Server mußt du dich gar nicht kümmern - der Client ist dein Problem. Und das Kommunikationsprotokoll HTTP.

Das ist nämlich darauf ausgelegt, dass ein Client ganz nach belieben anfragt, und der Server dann die aktuelle Situation mitteilt. Es ist aber nicht darauf angelegt, dass der Server den Client informiert, wenn sich was ändert.

Aus dem gleichen Grund sind HTTP-Chats ebenso unmöglich. Sie sind zwar realisierbar, aber sie sind Scheiße, weil eben nicht sofort reagiert wird, sondern immer nur mit Zeitverzögerung durch das nächste Reload.

Mit anderen Worten: Schreibe dir einen eigenen Client. Und weil der mit HTTP nicht wirklich besser wäre, als dein Browser: Schreibe dir auch einen passenden Server und erfinde ein Kommunikationsprotokoll für beide.

Die dafür verwendbare Sprache ist im Prinzip absolut frei wählbar, sofern du diese Wahl nicht durch gewisse Einschränkungen begrenzt. Beispielsweise könntest du fordern, dass der Client überall laufen soll. Daraus ergibt sich, dass er beispielsweise als Applet in Java geschrieben wird. Oder als eigenständige Java-Applikation. Was aber dummerweise voraussetzt, dass Java auf dem Rechner auch installiert ist. Alternativ geht dann natürlich C, C++ o.ä., wobei die Systemunabhängigkeit dabei natürlich verloren geht.

Der Server läßt sich auf die gleichen Überlegungen zurückführen. Systemunabhängigkeit wäre hier nur zu fordern, wenn du den Server universell einsetzbar haben willst (um ihn beispielsweise an andere weiterzugeben), aber auch mit PHP auf der Kommandozeile ließe sich so ein Server grundsätzlich realisieren.

- Sven Rautenberg

--
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)