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块是为了区分两类异常
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;
}
}
Daytime服务器
最新推荐文章于 2021-04-21 08:14:46 发布