【发布时间】:2012-11-12 12:45:09
【问题描述】:
我试图弄清楚为什么我的 BufferedReader(从 InputStream 读取)只是挂起并且在收到空行后不读取。
尝试读取类似于以下内容的 POST 请求:
POST /test.php HTTP/1.0
Content-Length: 30
Content-Type: text/html;
postData=whatever&moreData...
我知道发布数据正在正确发送(以上述格式),但是我无法检索发布的数据。我希望下面的代码打印出帖子数据然后挂起等待更多..但是,实际发生的是它在“Content-Type”行之后挂起。
while (true) {
System.out.println(bufferedReader.readLine());
}
用于获取流的代码:
bufferedReader = new BufferedReader(clientSocket.getInputStream());
有人知道为什么会这样吗?
谢谢
【问题讨论】:
-
请贴出获取码流的代码
-
我期望 bufferedReader = new BufferedReader( new URL( "http://..." ).openConnection());为什么要为 HTTP 使用套接字?
-
这是一个简单服务器的一部分 - 所以需要套接字
-
服务器 - 我正在读取发送的 POST 请求 - 因此尝试读取发布的数据(在空行之后)但无法检索它
-
如果这是 server 的一部分,为什么套接字句柄称为
clientSocket?这是否意味着“与客户交谈的套接字?”
标签: java http inputstream bufferedreader