Entwickler-Ecke

Internet / Netzwerk - Konzeptfrage: Kommunikation ohne Server


Hidden - Sa 10.05.08 10:48
Titel: Konzeptfrage: Kommunikation ohne Server
Hi,

Hierauf bitte höchstens als PM antworten, nicht hier posten:

Ein Hauptgrund, aus dem ich momentan ein eigenes Schachprogramm schreibe ist, dass ich keine Software gefunden habe, mit der sich zusätzlich über das Internet spielen lässt. Sicher, man kann in Foren spielen. Aber das ist etwas anderes. Man hat nicht das gewohnte Design, etc...


Jetzt möchte ich die Internet-Variante implementieren und überlege dabei zwischen zwei Konzepten(ein eigener Server, über den alles läuft, ist mir dann doch etwas zu groß XD):



Das zweite Konzept finde ich etwas unsauber, das erste :? .

Hier soll nun nur grundlegend geklärt werden, welches Konzept zu wählen wäre(weitere Vorschläge erwünscht).

Vielen Dank schonmal,


delfiphan - Sa 10.05.08 12:01



BenBE - Sa 10.05.08 12:21

Es bliebe alternativ auch noch die Möglichkeit über DHT eine Client-Verwaltung zu machen und einen beliebigen Teilnehmer des Netzes als Entry-Point zu nehmen. Wenn Du dabei einen Server abstellst, der als bekannte Einsprungpunkt dient, ist sogar das Joinen zum Netzwerk recht einfach.

Wenn Du nun eine Partie eröffnest, dann suchen sich die beiden Spieler über das P2P-Netz und können auch über dieses Nachrichten austauschen ...

Für die NAT-Problematik wäre aber u.U. auch STUN interessant ...


delfiphan - Sa 10.05.08 12:22

:lol: Viel Spass. Realistisch ist die Lösung aber nicht ausser du findest fertige Libraries.

Vielleicht findest du auch einen öffentlichen FICS [http://en.wikipedia.org/wiki/Free_Internet_Chess_Server] ;)


Hidden - Sa 10.05.08 13:10

Hi,

Also ich habe in der Richtung noch nie etwas gemacht :D . Habe mich mal bei http://www.funpic.de/ angemeldet.

Nach kurzer Überlegung wäre vielleicht sowieso deshalb ein Server besser, weil dann auch ein Spieler einen Zug machen könnte und der andere kann den dann schon sehen, wenn er das Programm das nächste mal startet.

Ich müsste ja dort jetzt ein Array anlegen, in dem ich den letzten Zug und, von wem der Zug stammt, abspeichere. Auf die Tabelle sollte von Außen natürlich kein Zugriff möglich sein, daher muss dort ein Programm laufen, das den Zugriff kapselt, eine ID nimmt, prüft, und den Zug an der entsprechenden Stelle ins Array einträgt, bzw. austrägt.

Das nur, damit ihr wisst, was ich brauche und demnach sagen könnt, womit ich mich beschäftigen sollte.

php höre ich jetzt ehrlichgesagt, abgesehen von der Sparte, dich ich hier im Forum gesehen habe, auch das erste Mal und weiß garnicht, ob das der richtige Begriff ist(den habe ich auf funpic gelesen).

Wenn ihr mir das so bestätigen könnt, mache ich ein neues Topic in der php-Sparte auf.

Besten Dank soweit,


Hidden - Sa 10.05.08 17:01

*push*