# Netzwerkspiel Plumber



## willy89 (6. Feb 2010)

Hallo,
ich sitze im Moment an einem Projekt für meine Uni.
Es geht um das Spiel Plubmer, bei dem eine Netzwerkfunktion eingebaut werden kann.
(Zwei Menschen bekommen das gleiche Spielfeld und es gewinnt, wer als erster das Rohrsystem löst.)
Dabei möchte ich in der oberen Ecke des Spielfelds das Feld des Gegeners anzeigen. Dazu muss per Sockets das aktuelle Ergebniss übertragen werden.

Ich habe mir eien Server/Client Strucktur ausgedacht, wobei der "Hoster" den Server stellt und der Client sich einwählen kann.
Der Client kann ja zB alle 2 Sekunden nach dem aktuellen Stand fragen. Wie sieht das aber mit dem Server aus? Kann ich diesen ständig laufen lassen? WIe ist das am besten zu realisieren?


Schonmal Danke
willy89


----------



## Steev (6. Feb 2010)

Normalerweise gibt es Serverseitig einen Thread mit einer Schleifer, die ständig läuft und guckt, ob Client Daten rüberschiebt.

In der "Insel" gibt es da einige Hilfreiche Kapitel drüber:
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 18 Netzwerkprogrammierung


----------



## willy89 (6. Feb 2010)

Hallo,
mein Problem ist:
ich Starte in der main den Server. Danach soll er eigentlich das "Spielfeld" initialisieren, bleibt aber im Server hängen...
Wie kann ich das parallel laufen lassen?


Grüße
willy


----------



## Steev (6. Feb 2010)

Das kannst du über Threads machen.

Das Starten des Servers über die Main-Methode hört sich auch nicht so glücklich an...
Normalerweise macht man da eine eigene Klasse und startet im Konstruktor einen Thread, der auf Daten des/der Clients wartet.

Etwa so:

[Java]public class YourServer implements Runnable {
  public YourServer() {
    new Thread(this).start();
  }

  public void run() {
    while (true) {
      waitForData(); // irgendwas...
      try {
        Thread.sleep(60); // irgendeine Wartezeit
      } catch (Exception e) {}
    }
  }
}[/Java]

Beispiele müssten aber auch in der "Insel" zu finden sein...

Gruß
Steev


----------

