Попытка построить очень простой веб-сервер в Java, и он зависает - PullRequest
1 голос
/ 06 апреля 2011

Я пытаюсь создать ОЧЕНЬ простой веб-сервер.Я получил это на работу.Прямо сейчас я использую InputStream и останавливаюсь в конце первой строки.Я подумал, что могу остановиться, когда возвращается -1 (так как это будет конец потока), но он зависает.Почему?

connection=server.accept();
OutputStream out=new BufferedOutputStream( connection.getOutputStream() ); 
InputStream in = new BufferedInputStream( connection.getInputStream() );

// read in one line
StringBuffer request = new StringBuffer(1000);
System.out.println("get connection reading in data \r");
while(true)
{
  int c=in.read();
  //  if (c=='\r') break;
  if (c==-1) break;
  request.append((char)c);
}
System.out.println(request);

1 Ответ

3 голосов
/ 06 апреля 2011

Вы ждете, когда клиент закроет соединение - он не собирается этого делать, потому что он ждет ответа!

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...