-1
如果我执行下面的代码(注意:没有使用真正的IP地址)打开Java套接字与Telnet?
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,我得到:
telnet> open 120.200.100.111 80
Trying 120.200.100.111...
Connected to foo.bar.org.
Escape character is '^]'.
请注意,我知道,对于一个完整的应用程序,我应该使用某种现有的Socket通信API的,但不应上面的测试会得到某种来自服务器的及时响应的?
在这个特定的情况下,服务器旨在被发送“欢迎消息”。我认为它应该在我连接时立即吐出,没有我发送任何东西,这是正确的吗? – Black
@George显然不是。 Telnet客户端也没有看到它。尝试发送回车。 – EJP
确认服务器未履行合同。谢谢你的帮助。 – Black