Witam, stworzyłem prostą wielowątkową aplikację typu chat (klient-serwer). Napotkałem na problem przy tworzeniu listy zalogowanych użytkowników, która będzie wyświetlana w GUI w JTabel (defaultlistmodel). Aktualny rezultat - po każdym nowym uruchomieniu Clienta, wszyscy użytkownicy 'dostają' ten sam nick. Kawałki kodu:

ClientHandler.java


 public void run() {
        while(true) {
            try {

               Socket socket = serverSocket.accept();
               PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
               BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

               out.println("LocalChat: Witaj. Podaj swój nick:");
               out.flush();
               nick = in.readLine();
               out.println("LocalChat: Twój nick to: " + nick);

Client.java


 public Client(Socket socket, ClientHandler ClientHandler) {
            this.socket = socket;
            this.ClientHandler = ClientHandler;
            try {

                input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                ip = socket.getInetAddress().getHostName();
                output = new PrintWriter(socket.getOutputStream(),true);
                output.println("Podaj nick");
                output.flush();
                nick = input.readLine();

                output.println("LocalChat: Połączyłeś się z serverem: " +ClientHandler.serverSocket.getInetAddress().getLocalHost() +" na porcie " + ClientHandler.ip);
            }
            catch(Exception e) {

            }
                this.start();
        }

Pozdrawiam