在当前线程中启动java com.sun.net.httpserver.HttpServer监听器,然后连接应该每个都有一个线程

时间:2016-02-17 15:47:12

标签: java multithreading httpserver

我正在尝试创建一个简单的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.");
}

每个连接都会收到无穷无尽的数据流,因此一旦连接到侦听套接字,就需要在不同的线程中启动它们。

1 个答案:

答案 0 :(得分:0)

如果您使用com.sun.net.httpserver中的内部HttpServer软件包,则可以设置java.util.concurrent.Executor以确定如何将线程用于MyHandler