skee
Mitglied
Hallo,
ich muss vorrausschicken, dass ich noch recht neu in Java bin und ich evtl was ganz einfach frage. Aber ich bin mit der Terminologie noch nicht vertraut, deswegen finde ich evtl beim googeln nix^^
Folgendes:
Ich habe mir für ein Multipülayer-Spiel ein Script eines Thread-fähigen Socketservers aus dem Netz gezogen. Ich verstehe es zu einem großen Teil und er funktioniert auch bis zu einem gewissen Grad so wie ich es will.
Code sieht so aus:
Im instanzierten ChatHandler speichere/verarbeite ich die ganzen spielerbezogenen Daten und das funktioniert super.
Jetzt habe ich aber das Problem, dass ich ja Variablen/Hashmaps brauche, in denen ich "globale" Infos speichern muss. zB welcher Spieler an welchem Thread hängt, oder wieviele/welche Spieler sich auf bestimmten Karten rumtreiben, etc
Was muss ich jetzt hier im ChatServer machen, damit ich variablen habe, auf die die einzelnen Threads zugreifen dürfen? Und wie greife ich dann auf diese zu.
Wär super, wenn mir jemand helfen könnte.
Danke
Skee
ich muss vorrausschicken, dass ich noch recht neu in Java bin und ich evtl was ganz einfach frage. Aber ich bin mit der Terminologie noch nicht vertraut, deswegen finde ich evtl beim googeln nix^^
Folgendes:
Ich habe mir für ein Multipülayer-Spiel ein Script eines Thread-fähigen Socketservers aus dem Netz gezogen. Ich verstehe es zu einem großen Teil und er funktioniert auch bis zu einem gewissen Grad so wie ich es will.
Code sieht so aus:
Code:
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.util.*;
public class ChatServer {
public static final int DEFAULT_PORT = 9800;
public static void main(String[] args) {
int port = DEFAULT_PORT;
ServerSocket serverSocket = null;
Socket socket = null;
try {
if (args.length > 0)
port = Integer.parseInt(args[0]);
} catch (NumberFormatException nfe) {
System.err.println("Usage: java ChatServer [port]");
System.err.println("Where options include:");
System.err.println("\tport the port on which to listen.");
System.exit(0);
}
try {
serverSocket = new ServerSocket(port);
while (true) {
socket = serverSocket.accept();
System.out.println("Client registriert"+socket);
ChatHandler handler = new ChatHandler(socket);
handler.start();
}
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
try {
serverSocket.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
}
Im instanzierten ChatHandler speichere/verarbeite ich die ganzen spielerbezogenen Daten und das funktioniert super.
Jetzt habe ich aber das Problem, dass ich ja Variablen/Hashmaps brauche, in denen ich "globale" Infos speichern muss. zB welcher Spieler an welchem Thread hängt, oder wieviele/welche Spieler sich auf bestimmten Karten rumtreiben, etc
Was muss ich jetzt hier im ChatServer machen, damit ich variablen habe, auf die die einzelnen Threads zugreifen dürfen? Und wie greife ich dann auf diese zu.
Wär super, wenn mir jemand helfen könnte.
Danke
Skee