В настоящее время я отправляю запрос, как показано ниже, и хотел распечатать ответ и выйти. Есть ли надежный способ получить весь ответ, а затем выйти, т. Е. Вместо того, чтобы сломать цикл после x
строк или x
секунд (что будет иметь проблемные случаи)? В настоящее время программа никогда не выходит, поскольку блоки Scanner
ждут большего ввода. Как еще можно распечатать ответ, если не с какой-либо комбинацией цикла/считывателя, которая может блокироваться?Как распечатать HTTP-ответ, а затем выйти
public class PingHost {
public static void main(String[] args) throws Exception {
Socket s = new Socket("www.google.com", 80);
DataOutputStream out = new DataOutputStream(s.getOutputStream());
out.writeBytes("GET/HTTP/1.1\n\n");
Scanner sc = new Scanner(s.getInputStream());
while (sc.hasNext())
System.out.println(sc.nextLine());
System.out.println("never gets to here");
s.close();
}
}