Java新手。我的猜测应该是new Socket ("nothing",8)
?
public static void test(String s[]) {
try {
echoSocket = new Socket("nothing", 7);
out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader( new InputStreamReader(echoSocket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("Don't know about host: .");
return;
}
process(out, in, echoSocket);
out.close();
in.close();
echoSocket.close();
}
答案 0 :(得分:2)
这取决于你想要完成的任务。从Java docs on Socket开始,如果您的服务器什么都没有,并且您的端口是8,那么您是正确的。但不知道你要连接的是什么,调试这段代码是不可能的。
答案 1 :(得分:1)
带有String和Int的Socket的构造函数请求主机名和端口。主机“无”不是有效的主机名。这可能会导致您的“错误”。
答案 2 :(得分:1)
如果你的主机文件有一个ip映射,你可以尝试“无”,这个“无”端口7正在运行。
主机文件的一部分
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
127.0.0.1 192.168.2.23
# ::1 localhost
127.0.0.1 localhost
127.0.0.1 nothing
在这种情况下,你的“无”是localhost