Autor Beitrag
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 10.05.08 10:48 
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):

  • Zum Hinzufügen von Kontakten wird ein Schlüsselwort eingegeben. Aus diesem Schlüsselwort wird dann eine temporäre Internetadresse/seite erzeugt, von der beide Spieler die IP des andern(verschlüsselt?) bekommen und unter dem Kontaktnamen abspeichern.
  • Ich nutze das Fensterhandle eines Chat-Programmes und nutze einen solchen Server für die Kommunikation.


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,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Sa 10.05.08 12:01 
  • Eigenen Server kaufen musst du dir ja nicht unbedingt. Die Kommunikation kann ja auch indirekt über php-Aufrufe geschehen und gratis-php-Server sollten zu finden sein.

    - Für jede Aktion ein php-Aufruf
    - Polling um Aktion des Partners abzufragen

    Wenn die Skriptlaufzeit unbeschränkt ist, könntest du dir das Polling sogar sparen.

  • Du könntest die Sache über einen IRC-Server machen.

  • Direkte TCP/IP Verbindung mit IP-Adressen geht natürlich auch, dann hast du aber Probleme, wenn beide hinter einem NAT sind. Einen Server zu haben ist immer universeller.

  • Du suchst einen gratis Tomcatserver und implementierst den Server in Java
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: 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 ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: 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 ;)
Hidden Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 10.05.08 13:10 
Hi,

Also ich habe in der Richtung noch nie etwas gemacht :D . Habe mich mal bei 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,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Hidden Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 10.05.08 17:01 
*push*

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)