这个程序有什么问题?

时间:2012-11-15 16:28:42

标签: java sockets

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();
}

3 个答案:

答案 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