Wie Server mit Client kommunizieren lassen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Entscheidung über die Struktur hängt vor allem von dem Konzept hinter diesem Spielmodus ab.

  • Wenn die Partien zwischen zufälligen Spielern, die sich nicht gegenseitig kennen, ausgetragen werden sollen, brauchst du einen zentralen Server. Der könnte entweder das komplette Spiel leiten oder zumindest das Finden von Paaren arrangieren (Clients verbinden sich mit zentralem Server > Paarbildung > Clients bekommen jeweils Verbindungsdaten des ihm zugewiesenen Partners für P2P).
  • Für private Partien genügt eine P2P-Verbindung / eine Verbindung, bei der einer der beiden Spieler den Host (Serverrolle) stellt. Die Verbindungsdaten müssen sich beide Spieler privat austauschen.

Für die konkrete Implementation kannst du Sockets verwenden (etwas Komplexeres benötigst du sicherlich nicht) oder du schaust dir eine der zahlreichen Bibliotheken an, die bereits für Multiplayerspiele mit Pygame entwickelt wurden (z.B. pygnetic, PodSixNet).

Meiner Meinung nach ist es sinnvoller Sockets zu verwenden. Sockets sind einfacher zu implementieren und bieten mehr Kontrolle über die Kommunikation zwischen den beiden Parteien. Wenn du eine API verwendest, müsstest du dir zuerst überlegen, wie die API implementiert werden soll. Du musst auch entscheiden, welche Funktionen die API bereitstellen soll.

Woher ich das weiß:Hobby – Programmierer

Ich würde es mit sockets machen im Gegensatz zu einer API auf http Basis, wenn ich dich jetzt richtig verstanden habe. Bei einer API musst du ständig pollen während du eine Socketverbindung offenhalten kannst.

Woher ich das weiß:Berufserfahrung – 20 Jahre Berufserfahrung