2012-11-15 39 views
0

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

在SO,您发布的错误,并要求解决。不要只是发布你的代码,并问我们问什么是错误。 –

+0

@RohitJain,我想表明我确实在我身边付出了一些努力。 –

+0

是的,我很欣赏这一点,但你也应该发布你所面临的确切问题,以便更快地解决问题。就像任何异常情况一样,'StackTrace'非常有用。否则它只会需要更多时间。 –

回答

2

这取决于你正在努力完成什么。从Java docs on Socket,如果你的服务器什么都不是,而你的端口是8,那么你是对的。但不知道你想要连接的是什么,不可能调试这段代码。

+0

糟糕。得到它了。谢谢。 –

1

具有String和Int的Socket构造函数要求输入主机名和端口。主机“没有”不是有效的主机名。这可能会导致你的“错误”。

1

如果你的主机文件有一个ip映射为这个“无”端口7在它上运行,你仍然可以尝试使用“nothing”。在这种情况下,主机文件

# 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