Hov, forkert
Hej.. jeg sidder her med et stort problem..
Jeg har lavet en server, og vil gerne håndterer hvornår klienterne lukker vinduet.
Det virker fint, med at den udskrive "Client leaving", men hvordan skal serveren vide, HVEM som lukkede klient-vinduet?
Jeg giver dem id's, på dem som kommer ind.
Please giv mig en forklaring på hvordan det løses / hvad man skal gøre!
import java.io.*;
import java.net.*;
public class tServer2 {
public static void main(String[] args) {
try {
int klientID = 0;
ServerSocket ss = new ServerSocket(9999);
while(true) {
Socket s = ss.accept();
ClientHandler cli = new ClientHandler(s);
cli.start();
klientID = klientID + 1;
System.out.println("Klient kom " + klientID);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
class ClientHandler extends Thread {
private BufferedReader br;
private PrintWriter pw;
public ClientHandler(Socket s) {
try {
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
pw = new PrintWriter(s.getOutputStream(), true);
} catch (IOException e) {
e.printStackTrace();
}
}
public void run() {
try {
String line;
while((line = br.readLine()) != null) {
pw.println(line + '\\0');
pw.flush();
}
} catch (IOException e) {
// nothing
} finally {
System.out.println("Client leaving");
}
}
}