Я пытаюсь создать HTTP-сервер в java.Чтение из сокета с использованием буферизованных блоков чтения
Ниже приведен фрагмент моего кода.
ServerSocket s = new ServerSocket(80);
while(true){
Socket client = s.accept();
BufferedReader in = new BufferedReader(
new InputStreamReader(client.getInputStream()));
String input = in.readLine(), ff;
System.out.println(input);
while((ff = in.readLine()) != null){
System.out.println(ff);
}
System.out.println("asd");
in.close();
client.close();
}
Asd никогда не печатается. Когда я пытаюсь выполнить POST на локальном хосте, он отправляет мне все заголовки, но не отправляет никаких данных контента. Он просто ждет, ничего не делая.
Я делаю запись с помощью Jquery
$.post("http://127.0.0.1/",
{
name: "Donald Duck",
city: "Duckburg"
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
Это то, что печатается на экране:
POST/HTTP/1.1
Host: 127.0.0.1
Connection: keep-alive
Content-Length: 5
Accept: */*
Origin: http://www.w3schools.com
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/47.0.2526.73 Chrome/47.0.2526.73 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Вот и все, ничего после этого. В этот момент он ждет бесконечно.
Можете ли вы рассказать нам о том, что напечатано? Разве вы не должны делать client.getOutputStream() и писать на него вместо System.out? – bcampolo
Я просто хочу посмотреть содержимое, которое мой браузер отправляет мне на данный момент. Мне нужно обработать данные, которые я получаю дальше. Обновлен вопрос и включил вывод командной строки. @bcampolo – Aditya
Облицовка одной и той же проблемы с Firefox. – Aditya