如果我执行以下代码(注意:不是正在使用的真实 IP 地址)
Socket s = new Socket("120.200.100.111", 80);
s.setSoTimeout(10 * 1000);
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
in.readLine();
10 秒后,我得到“SocketTimeoutException:读取超时”
但如果我远程登录,我会得到:
telnet> open 120.200.100.111 80
Trying 120.200.100.111...
Connected to foo.bar.org.
Escape character is '^]'.
请注意,我知道对于一个完整的应用程序,我应该使用某种现有的 API 进行套接字通信,但上述测试不应该从服务器获得某种及时的响应吗?