Ich habe mal wieder ein altes Projekt von mir aufgegriffen: Ein Multiplayer-Schachspiel
Für die kommunikation habe ich bisher die Klassen TServerSocket und TClientSocket benutzt.
Im lokalen Netzwerk funktioniert das auch ohne Probleme. Über das Internet funktioniert dieser Weg allerdings nicht.
Das liegt vmtl. daran, dass bei meinem Router der Port (ich hatte 12321 genutzt) nicht freigegeben ist.
Ich wollte den nutzern allerdings nicht zumuten, extra für dieses Prgm. ihre Routerkonfiguration zu ändern.
Deshalb hatte ich schon überlegt, ob ich das ganze nicht über ein PHP-Script laufen lasse, was auf jeden Fall funktionieren sollte, jedoch hätte der Server mit dem PHP-Script vmtl. einiges zu tun, auch wenn pro Zug jeweils lediglich 2 Byte übertragen werden müssen. Aber es man müsste im Prgm. ja ständig abfragen, ob der Spielpartner bereits seinen Spielzug gemacht hat, ...
Und da man andere Onlinespiele ja auch so spielen kann (ohne Konfigurationsveränderung) muss es ja irgendwie möglich sein.
Daher wollte ich mal nach eurer Meinung fragen, wie ich sowas am besten realisieren kann und evtl. auch welche Komponenten ich nutzen könnte. Ich habe sowas bisher wie gesagt immer mit TServer-/TClientSocket gemacht. Mit den Indys bin ich schon wegen derer HPPT-Komponente in Kontakt gekommen und die ICS benutze ich für meinen
FTP-Server. Synapse habe ich mir noch ganicht angeschaut. Ebenso sieht es mit den in D2k6 integrieten TTCPServer/TTCPClient aus.
Was empfehlt ihr mir, was habt ihr schon für Erfahrungen gemacht, habt ihr irgendwelche Beispiele/Ansätze?