试图在java中构建非常简单的WEB服务器并冻结

时间:2011-04-06 13:03:14

标签: java webserver

我正在尝试构建一个非常简单的Web服务器。我得到了它的工作。现在我使用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 个答案:

答案 0 :(得分:3)

您正在等待客户端关闭其连接 - 它不会这样做,因为它正在等待响应!

您需要阅读请求并根据标题完成工作。