我根本不是一个Java程序员,我尽量避免它,但它需要我在课堂上使用它(在),老师要求我们使用Socket(),BufferedReader(),PrintWriter()和其他各种东西,包括BufferedReader()的readLine()方法。有该文件中明确指出的readLine应在输入流的末尾返回空值,但是这不是发生了什么。Java,套接字,BufferedReader和readline挂起... :(
Socket link = new Socket(this.address, 80);
BufferedReader in = new BufferedReader(new InputStreamReader(link.getInputStream()));
PrintWriter out = new PrintWriter( new PrintWriter( link.getOutputStream(), true));
out.print("GET blah blah blah"); // http request by hand
out.flush(); // send the get please
while((s=in.readLine()) != null) {
// prints the html correctly, hooray!!
System.out.println(s);
}
而是在HTML结束整理,我得到了一个空白升ine,0和 另一个空行,然后下一个in.readLine()永远挂起。为什么? 我的null在哪里?
我试了out.close()看看也许雅虎!正在做一个持续的http 会议或其他事情(我不认为它会没有 我们愿意这样做)。
我在网上找到的所有Java套接字示例似乎表示 while循环是正确的形式。我只是不知道足够的Java来调试 这个。
这是有道理的。我需要检查标题。 我只是要使用http1.0。 – jettero
是的,对于一个学校练习来说,这是最明智的选择。 – Bombe