Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

17.06.2012, 10:53

Java Netzwerkspiel für 2 Spieler

Hi Leute,

ich möchte ein Client in Java programmieren, der es erlaubt, mit einem Kumpel ein
Kartenspiel zu spielen.
Das heisst, er sieht alle meine Bewegungen(wann ziehe ich eine Karte, welche Karte
lege ich aufs Feld, wie viele Handkarten habe ich) und ich seine.

Die Frage ist, wie ist das am geschicktesten zu lösen? Ich kenne den
Jetty WebServer. Mit der WebSocket Technologie könnte ich das doch
realisieren? WebSocket teilt ja allen Clients eine eingehende Nachricht mit.
Z.B. bewegt er eine Karte aufs Feld und der Server teilt es meinem
Client mit.

Das wäre mein Ansatz. Ist das die korrekte Methode? Welche (besseren) Alternativen
gibt es? Danke im voraus für Hilfen.

2

17.06.2012, 12:33

Deinen Lösungsansatz finde ich ziemlich gut. Neben Jetty gibt's natürlich noch viele andere Webserver o.Ä. die WebSockets unterstützen, aber Jetty ist momentan ein sehr beliebter Server, also eine gute Wahl.
Ansonsten gibt's für sowas auch spezielle Server, z.B. http://www.smartfoxserver.com/ (Java) oder http://exitgames.com/Photon (.Net), die kommunizieren dann aber lieber über normale Sockets.

Wenn du keine Regeln für das Kartenspiel einbauen willst, kannst du dir auch mal http://www.lackeyccg.com/ oder so anschauen. Es gibt einige allgemeine Kartenspielprogramme...

Man kann das ganze natürlich auch ohne Server machen und auf P2P setzen. Leider ist man dabei oft dann doch auf einen Server angewiesen (zumindest für die erste Verbindung), da Router und Firewalls oft im Weg stehen.