Public feed #721536

Miscellany

public java v1 · immutable
Raw Edit
·published 2007-10-01 09:41 UTC
rendered paste body
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.");		}	}}