我目前正在實施一個web代理,但我遇到了一個問題。我可以從瀏覽器解析我的請求,並提出一個新的請求相當好,但我似乎有與response.It問題一直掛我的反應循環我的回覆似乎在響應類中掛起,而與套接字工作
serveroutput.write(request.getFullRequest());
// serveroutput.newLine();
serveroutput.flush();
//serveroutput.
//serveroutput.close();
} catch (IOException e) {
System.out.println("Writting tothe server was unsuccesful");
e.printStackTrace();
}
System.out.println("Write was succesful...");
System.out.println("flushed.");
try {
System.out.println("Getting a response...");
response= new HttpResponse(serversocket.getInputStream());
} catch (IOException e) {
System.out.println("tried to read response from server but failed");
e.printStackTrace();
}
System.out.println("Response was succesfull");
//response code
public HttpResponse(InputStream input) {
busy=true;
reader = new BufferedReader(new InputStreamReader(input));
try {
while (!reader.ready());//wait for initialization.
String line;
while ((line = reader.readLine()) != null) {
fullResponse += "\r\n" + line;
}
reader.close();
fullResponse = "\r\n" + fullResponse.trim() + "\r\n\r\n";
} catch (IOException`` e) {
e.printStackTrace();
}
busy = false;
}
服務器在響應結束時是否發送「新行」? 'reader.readLine()'...從Java文檔*「一行被認爲是由換行符('\ n'),回車符('\ r')或一個小車返回,然後立即換行「*另外 - 您可能不需要'reader.ready()',因爲'reader.readLine()'將會阻塞,直到它從緩衝區以任何方式讀取一行爲止......恕我直言 – MadProgrammer 2013-02-13 00:38:30
我真的不能告訴瀏覽器發送什麼,直到我解析整個迴應 – user1850254 2013-02-13 00:42:06