package de.mrbesen.youtubecrawler; import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketTimeoutException; import org.apache.log4j.Logger; public class Server implements Runnable { private ServerSocket ssoc; private Thread t; private boolean run = false; private Logger log = Logger.getLogger(this.getClass().getName()); private DB db; public Server(DB d) { db = d; } void start() { run = true; t = new Thread(this, "Server"); t.start(); } void stop() { run = false; t.interrupt(); } public void run() { try { final int port = 2419; ssoc = new ServerSocket(port, -1); //ssoc.bind(new InetSocketAddress(, port)); ssoc.setSoTimeout(5); log.info("opened Server at port " + port); while(run) { try { Socket client = ssoc.accept(); //if(client.getInetAddress().isLoopbackAddress()) { PrintWriter out = new PrintWriter(client.getOutputStream()); out.println(db.getRandom()); out.flush(); out.close(); /*} else { log.info("client connected: " + client.getInetAddress().toString()); }*/ client.close(); } catch(SocketTimeoutException ignored) {} } ssoc.close(); } catch(IOException e) { e.printStackTrace(); } } }