Client Client Übertragung

Apple_Mac

Mitglied
Moin,
ich bin in der Netzwerkprogrammierung ein kompletter Anfänger deswegen bitte ich euch keine Fachwörter zu nutzen und einfach zu erklären🙂

Nun zu meinem Problem:
Ich programmiere gerade das Spiel Schiffeversenken. Die Schiffe werden alle in eine MySQL-Datenbank eingetragen. Das funktioniert nun soweit. Aber jetzt bin ich angefangen den Ablauf des Spiels zu programmieren und jetzt muss ich den Gegenspieler ja irgendwie mitteilen, ob er jetzt dran ist oder nicht. Gibt es irgendeine einfache Möglichkeit. Es würde ja reichen, wenn eine zahl übermittelt wird.
Erstmal würde mit reichen, wenn das ganze im LAN funktioniert. Außerdem wäre es gut wenn ihr eine Lösung habt, wo ich keinen Server brauche, den ich dazwischen schalten muss.

MFG
Simon
 
Wenn du eine mysql Datenbank hast, dann hast du doch auch einen Server. Oder wie soll der gegenüber sonst auf die DB zugreifen?
 
Dann mach doch in die DB eine Tabelle Mit einer Spalte für die Anzahl der Züge und wenn der Wert gerade ist, dann ist Client A dran und wenn er ungerade ist, dann Client B . Und immer wenn ein neuer Zug gemacht wird, dann erhöhst du den Wert. Die Clients können dann 1x pro Sekunde diesen Wert abfragen und entsprechend reagieren.

Gruß

Claus
 
Könntest du mal den Code zeigen für eine solche Abfrage. Also das abfragen aus der DB bekomm ich auch hin. Nur wie ich so eine Dauerschleife bekomme, die alle 1s den Wert überprüft.
 
Bspw so:
Code:
try {
    Thread.sleep(1000); //1 Sec, 1000ms
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}

Oder TimeUnit gibt es auch.. aber damit kenne ich mich nicht aus.
 
Also Spiel über die Datenbank abzuwickeln ist eine schlechte Variante. Schreib doch lieber einen Server welcher das Spiel "leitet" und die Infos zwischen den Clients austauscht.
 

Neue Themen


Zurück
Oben