Я пишу небольшой веб-сервер, и у меня проблема с анализом запроса. Я анализирую BufferedReader в LinkedList (чтобы я мог выполнить операцию на основе отправленных данных POST). Я нашел этот ответ , объясняющий, что буфер не завершен из-за разрыва соединения. Я не уверен, как закрыть его.
Как мне открыть сокет (и как я думал закрыть его):
Socket connectionSocket = serverSocket.accept();
InetAddress client = connectionSocket.getInetAddress();
System.out.println(client.getHostName() + " connected to server.");
BufferedReader input = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream(), "UTF-8"));
DataOutputStream output = new DataOutputStream(connectionSocket.getOutputStream());
output.writeUTF(httpHeader(200));
httpHandler(input, output);
connectionSocket.close();
Метод httpHeader формирует простую строку с «HTTP / 1.0» в первой строке и в этом случае «200 OK» в следующей строке и новой строкой в конце. Отправляется POST-запрос HTTP 1.0.
Будучи настолько кратким, насколько я мог, мой вопрос состоит из двух вопросов: как мне правильно ответить и закрыть запрос / сокет HTTP 1.0 POST?