/* nästa steg som servern har skickat iväg */ import java.util.*; import java.net.*; import javax.swing.*; import java.io.*; public class KlientHandler extends Thread{ //referenser och datasamling private Server servlet; private ArrayList klienter = new ArrayList(); private ServerSocket socket1; private boolean online=true; //ta emot signaler från Server.java public KlientHandler(ServerSocket socket1,Server servlet){ this.socket1=socket1; this.servlet=servlet; } //metod för att "adda" klienterna i datasamlingen och vi använder size för att få reda på //antalet klienter inloggade, samt får reda på anslutens datas ip public synchronized void addKlient(Socket klienten){ //Klient.java ska ta emot Socket och KlientHandler.java Klient nyKlient = new Klient(klienten, this); klienter.add(nyKlient); servlet.laggTillKlient(klienter.size()); broadcast("Klient kopplad: " +klienten.getInetAddress().getHostAddress()+"\n"); } //som ovan fast ta bort använder av ett index för att hitta nedkopplad Klient public synchronized void taBortKlient(Klient tabort){ int ant = klienter.indexOf(tabort); klienter.remove(ant); //uppdatera antalet klienter i status fältet servlet.laggTillKlient(klienter.size()); } //skicka till alla Klienter via sendMessage som finns i Klient.java //sen anropas server.java's logg metod som skriver ut till klienterna public synchronized void broadcast(String mess){ if(!mess.endsWith("\n")) mess=mess+"\n"; for (int i=0;i