class func_server_char extends Thread { protected List<Socket> players = new ArrayList<Socket>(10); private Socket socket = null; protected int count = 0; public final int myID; private func_server_install a; public func_server_char(Socket socket) { // super("func_server_char"); this.socket = socket; a.count++; // Do it.. myID = a.count; System.out.println(myID); players.add(myID,socket); // lisame ta players socketisse. System.out.println("Added nr #"+myID+" to a players list"); } public void run() { try { PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream())); out.println("ID:"+myID); while (in.readLine() != null) { } out.close(); players.remove(myID); a.count--; // When he gets removed from server. System.out.println("Lost client "+myID); in.close(); socket.close(); } catch (java.io.IOException e) { e.printStackTrace(); } }}