Public feed
#721536
import java.io.*;public class server implements Runnable { public server(){} public long currentTime; public static final int cycleTime = 333000000; public static server clientHandler = null; public static java.net.ServerSocket clientListener = null; public static boolean shutdownServer = false; public static boolean shutdownClientHandler; public static int serverlistenerPort = 9000; public BufferedReader in; public PrintWriter out; public static UserHandler userHandler = null; public static void main(java.lang.String args[]) { clientHandler = new server(); (new Thread(clientHandler)).start(); userHandler = new UserHandler(); long beforeTime = System.nanoTime(); long totalTimeSpentProcessing = 0; int cycle = 0; long excess = 0; long overSleepTime = 0; long sleepTime = 0; while(!shutdownServer) { userHandler.checkUser(); long afterTime = System.nanoTime(); long timeDiff = afterTime - beforeTime; //System.out.println("Processing: " + timeDiff + "ns"); sleepTime = (cycleTime - timeDiff) - overSleepTime; if (sleepTime > 0) { try { Thread.sleep(sleepTime/1000000L); } catch(InterruptedException ex){} overSleepTime = (System.nanoTime() - afterTime) - sleepTime; } beforeTime = System.nanoTime(); } userHandler.destruct(); clientHandler.killServer(); clientHandler = null; } public void run() { try { shutdownClientHandler = false; clientListener = new java.net.ServerSocket(serverlistenerPort, 1, null); System.out.println("Now running server on: " + clientListener.getInetAddress().getHostAddress() + ":" + clientListener.getLocalPort()); while(true) { java.net.Socket s = clientListener.accept(); s.setTcpNoDelay(true); String connectingHost = s.getInetAddress().getHostName(); System.out.println("ClientHandler: Accepted from "+connectingHost+":"+s.getPort()); //userHandler.newUserClient(s, connectingHost); in = new BufferedReader(new InputStreamReader(s.getInputStream( ) ) ); out = new PrintWriter(s.getOutputStream( ), true ); userHandler.processClient(in, out, connectingHost); } } catch(java.io.IOException ioe) { if(!shutdownClientHandler) System.out.println("Error: Unable to startup listener on "+serverlistenerPort+" - port already in use?"); else System.out.println("ClientHandler was shut down."); } }}