PrintWriter печатает данные в выходной поток сокета, но Chrome всегда показывает ERR_EMPTY_RESPONSE - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь смоделировать кота.Код здесь очень прост.Он генерирует сокетное соединение и записывает данные в выходной поток.

public void await() {
    ServerSocket serverSocket = null;
    int port = 8080;
    try {
        serverSocket = new ServerSocket(port, 1, InetAddress.getByName("127.0.0.1"));
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(1);
    }

    // Loop waiting for a request
    while (!shutdown) {
        Socket socket = null;
        InputStream input = null;
        OutputStream output = null;
        try {
            socket = serverSocket.accept();
            output = socket.getOutputStream();
            output.write("hello\r\n".getBytes());
            output.flush();
            output.close();

            socket.close();
        } catch (Exception e) {
            e.printStackTrace();
            //System.exit(1);
        }
    }
}

Пока я посещаю http://127.0.0.1:8080/ в Chrome, я считаю, что код работает весело, без исключения.Я думаю, это должно вернуть привет.Но Chrome всегда показывает ERR_EMPTY_RESPONSE.

Я вижу, что здесь есть похожие проблемы в StackOverflow, но нет мнения.

ERR_EMPTY_RESPONSE в Chrome

Нечетное поведение сокета

Кто-нибудь может помочь?Благодаря.

...