2011-03-22 244 views
1

我收到以下异常在我的代码: enter image description here拒绝连接?

我无法理解这种异常的原因...

这里是我的代码: {

import java.net.*; 
import java.io.*; 
class whois { 
    public static void main(String args[])throws Exception { 
    int c; 
    Socket s=new Socket("internic.net",43); 
    InputStream in=s.getInputStream(); 
    OutputStream out=s.getOutputStream(); 
    String str=(args.length==0 ? "webopedia.com" : args[0])+"\n"; 
    byte buf[]=str.getBytes(); 
    out.write(buf); 
    while((c=in.read())!=-1) { 
    System.out.print((char)c); 
    } 
    s.close(); 
    } 
    } 
} 

请告诉这个例外的原因。

+0

如果您使用带有运行按钮的IDE或编辑器(如scite),您可以在一个漂亮的窗口中获得输出,您可以在其中使用鼠标抓住它,无需为文本输出制作截图。 – 2011-03-22 10:48:54

+0

我认为即使在Windows外壳允许复制+粘贴文本。 – 2011-03-22 23:19:19

回答

7

简而言之:您无法连接当前客户端的端口43上的internic.net。服务器端口不可用,防火墙阻止通信或客户端无法解析服务器的符号名称。

+0

+1:根本解决不了地址会导致不同的错误。如果它不正确地解析地址,则可能会出现此错误。我试图telnet自己不相信这个服务正在运行在这个服务器上(或者你不能访问它) – 2011-03-22 10:47:45

+0

那么应该是什么端口号? – 2011-03-22 10:50:56

+1

他会怎么知道?你想要访问什么样的服务? – chzbrgla 2011-03-22 10:52:44

5

我做了一些挖掘。端口43是WHOIS服务,您应该使用“whois.internic.net”作为WHOIS服务的Internic实例的主机名。


目前我得到“没有路线主办”为whois.internic.net ...

我的结论是,在whois.internic.net主机和/或服务在不可靠此时此刻。我建议你改用“http://internic.net/whois.html”中的搜索表单。


上面的搜索表单没有给出信息“www.webopedia.com” ...因为它没有关于该域的信息!但它有关于“webopedia.com”的信息。这对我来说很有意义:

  • “webopedia.com”是与一些域名注册商注册的“.COM”域名服务器提供服务的主域名。它具有WHOIS信息。

  • “www.webopedia.com”是一个子域名,其DNS信息由运行“webopedia.com”的人员提供。往上看。

这一切都是通过查看这两个名称的DNS记录来确认的。使用或等效的Windows工具查看DNS记录。

总之,你的程序是说实话的...当它工作。

+0

现在我的程序不会给exception.But在这种情况下的任何网址(webopedia.com),它说不匹配:www.webopedia.com为什么这样? – 2011-03-22 17:53:53