Huhu,
mein Spiel läuft jetzt ganz ordentlich und fast alles Bugs sind behoben
Nun hätte ich nur noch eine Frage zum Thema Threads Closen und Sockets schliessen.
Erstmal die Ausgangssituation, ich habe eine Klasse MultiPlayerPanel, worin 3 Buttons sind, einmal "Create", einmal "Join" und wenn eine Verbindung besteht erscheint ein 3ter Button mit "Start Game", nun wenn man auf Create klickt wird eine neue Instanz der Klasse Server erstellt in einer eigenen Instanz. Anschließend kann ein anderer Spieler auf Join klicken, die IP eingeben und dann wird eine Instanz der Klasse Client erstellt, ebenfalls in einem eigenem Thread.
Hier eine Skizze, falls das oben nicht verständlich war:
Nun die Frage, wie "close" ich anständig die Threads und den Server und die Verbindung des Clienten damit ich z.B. wieder den Port freigebe und einen neuen Server erstellen kann?
Meine Überlegung war:
In den Klassen Server und Client eine Methode close() wo drin steht
und im MultiPlayerPanel Server = null und Client = null.
Er schmeisst mir aber leider direkt eine Exception beim server.close(); :
"Exception in thread "Thread-3" java.lang.NullPointerException" und zeigt mir genau die "server.close();" zeile an.
Und bei currentThread().close() oder auch currentThread.stop() wird das close bzw. stop durchgestrichen angezeigt, vlt soll mir das auch etwas sagen das es so nicht geht
mein Spiel läuft jetzt ganz ordentlich und fast alles Bugs sind behoben
Nun hätte ich nur noch eine Frage zum Thema Threads Closen und Sockets schliessen.
Erstmal die Ausgangssituation, ich habe eine Klasse MultiPlayerPanel, worin 3 Buttons sind, einmal "Create", einmal "Join" und wenn eine Verbindung besteht erscheint ein 3ter Button mit "Start Game", nun wenn man auf Create klickt wird eine neue Instanz der Klasse Server erstellt in einer eigenen Instanz. Anschließend kann ein anderer Spieler auf Join klicken, die IP eingeben und dann wird eine Instanz der Klasse Client erstellt, ebenfalls in einem eigenem Thread.
Hier eine Skizze, falls das oben nicht verständlich war:
Nun die Frage, wie "close" ich anständig die Threads und den Server und die Verbindung des Clienten damit ich z.B. wieder den Port freigebe und einen neuen Server erstellen kann?
Meine Überlegung war:
In den Klassen Server und Client eine Methode close() wo drin steht
Java:
server.close(); // bzw. beim beim Clienten client.close();
currentThread().close();
Er schmeisst mir aber leider direkt eine Exception beim server.close(); :
"Exception in thread "Thread-3" java.lang.NullPointerException" und zeigt mir genau die "server.close();" zeile an.
Und bei currentThread().close() oder auch currentThread.stop() wird das close bzw. stop durchgestrichen angezeigt, vlt soll mir das auch etwas sagen das es so nicht geht
Zuletzt bearbeitet: