rendered paste bodyimport java.net.*;
import java.io.*;
import java.util.concurrent.*;
import java.nio.channels.*;
public class hw1_server{
public static boolean KeepServerGoing;
/**
* @param args
*/
public static void main(String[] args) {
KeepServerGoing = true;
// TODO Auto-generated method stub
System.out.println("Kazan's Slow boring Java network directory listing server.");
System.out.println("#Define POS Java");
try {
ServerSocket serv_socket = new ServerSocket(9877);
// setup a non-blocking socket
/*ServerSocketChannel serv_sk_chan = ServerSocketChannel.open();
serv_sk_chan.configureBlocking(false);
serv_sk_chan.socket().bind(new InetSocketAddress(9877));*/
System.out.println("Waiting for client on port 9877.");
int client_count = 0;
while (KeepServerGoing) {
/*SocketChannel accepted_client = serv_sk_chan.accept();
// non-blocking accept returns null when a client isn't waiting
if (accepted_client != null)
{
Socket client_sock = accepted_client.socket();
// spawn a thread to service the client
(new Thread(new hw1_srv_servicer(client_sock, client_count))).start();
client_count++;
}*/
Socket accepted_client = serv_socket.accept();
// spawn a thread to service the client
(new Thread(new hw1_srv_servicer(accepted_client, client_count))).start();
client_count++;
try {
Thread.sleep(250); // wait 250ms - so we don't hammer the system with out loop
}
catch (Exception e)
{
System.out.println("Sleep State interrupted");
System.out.println(e);
}
}
System.out.println("Server Terminating. " + Integer.toBinaryString(client_count) + " Clients Serviced.");
}
catch (IOException e)
{
System.out.println(e);
}
}
}