我正在尝试创建一个简单的HTTP服务器,将数据流式传输给用户。我希望服务器监听器阻止主线程执行(接管主线程):
public static void main(String [] args) throws Throwable {
HttpServer server = HttpServer.create(new InetSocketAddress(80), 0);
// The handler for connections
server.createContext("/test", new MyHandler());
// This is probably what needs tweaking
server.setExecutor(null);
// The start should block
System.out.println("Server started at 0.0.0.0:80.");
server.start();
System.out.println("Server terminated without errors.");
}
每个连接都会收到无穷无尽的数据流,因此一旦连接到侦听套接字,就需要在不同的线程中启动它们。
答案 0 :(得分:0)
如果您使用com.sun.net.httpserver
中的内部HttpServer软件包,则可以设置java.util.concurrent.Executor
以确定如何将线程用于MyHandler