package serversocket;
import java.net.*;
import java.io.*;
import java.util.*;
import java.util.concurrent.*;
public class DaytimeServer {
private static final int PORT =
5001;
private final static int THREAD_COUNT =
50;
public static void main(String[] args) {
ExecutorService pool = Executors.newFixedThreadPool(THREAD_COUNT);
try (ServerSocket
server =
new ServerSocket(PORT)) {
while (
true) {
try {
Socket connection =
server.accept();
DaytimeTask task =
new DaytimeTask(connection);
pool.submit(task);
}
catch(IOException e){
}
}
}
catch (IOException e) {
System.err.println(
"Could't start server");
}
}
}
class DaytimeTask implements Callable<Void> {
private Socket connection;
DaytimeTask(Socket connection) {
this.connection = connection;
}
@Override
public Void call(){
try (Writer out =
new OutputStreamWriter(connection.getOutputStream());) {
Date nowadays =
new Date();
out.write(nowadays.toString() +
"/r/n");
out.flush();
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
转载请注明原文地址: https://ju.6miu.com/read-1302918.html