package Server; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.net.SocketException; public class CreateThread extends Thread { private Socket sckt = null; private Status stts = new Status(); public CreateThread(Socket sckt) { super("CreateThread"); this.sckt = sckt; } public void run() { try { PrintWriter pwOut = new PrintWriter(sckt.getOutputStream(),true); BufferedReader inP = new BufferedReader(new InputStreamReader(sckt.getInputStream())); BufferedReader brIn = new BufferedReader( new InputStreamReader(sckt.getInputStream())); String received = ""; String send = ""; if (stts.getState() != 2) { stts.incPlayers(); stts.setNewPlayer(); MMProtocol mProt = new MMProtocol(); System.out.println("A"); if ((received = inP.readLine()) == null) System.out.println (" '" + received + "' "); else System.out.println (" '" + received + "' "); System.out.println("B"); while ((received = inP.readLine()) != null) { received = inP.readLine(); send = mProt.response(received); pwOut.println(send); if (received.equals("Closing...")) { stts.decPlayers(); break; } } } else { send = "FULL"; pwOut.println(send); } pwOut.close(); brIn.close(); sckt.close(); } catch (SocketException se) { System.err.println("Lost connection to client."); System.exit(1); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException ie) { ie.printStackTrace(); } } }