YoutubeCrawler/src/de/mrbesen/youtubecrawler/Server.java

61 lines
1.3 KiB
Java

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();
}
}
}