NanoHTTPD для обработки только одного параллельного запроса - PullRequest
0 голосов
/ 25 июня 2019

Я хочу, чтобы NanoHTTPD обрабатывал по одному запросу за раз.Есть ли способ добиться этого?

Все другие запросы, сделанные одновременно, должны либо ждать, либо быть отброшенными.

Вот мой сервер NanoHTTPD:

    package com.example;
    import java.io.IOException;
    import org.nanohttpd.NanoHTTPD;
    import java.util.concurrent.TimeUnit;

    public class App extends NanoHTTPD {

        public App() throws IOException {
            super(8080);
            start(NanoHTTPD.SOCKET_READ_TIMEOUT, false);
            System.out.println("Running!");
        }

        public static void main(String[] args) {
            try {
                new App();
            } catch (IOException ioe) {
                System.err.println("Couldn't start server:\n" + ioe);
            }
        }

        @Override
        public Response serve(IHTTPSession session) {
            try {
               TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {}

            String msg = "<html><body>Hello server</body></html>";
            return newFixedLengthResponse(msg);
        }
    }
...