2011-03-22 5 views
1

Je reçois l'exception suivante dans mon code: enter image description hereConnexion refusée?

Je ne comprends pas la raison de cette exception ...

voici mon code: {

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

s'il vous plaît dire raison de cette exception.

+0

Si vous utilisez un IDE ou un éditeur avec run bouton, comme scite, vous obtenez la sortie dans une belle fenêtre, où vous pouvez le saisir avec la souris, pas besoin de faire une capture d'écran pour la sortie de texte. –

+0

Je pense que même le shell Windows permet de copier + coller du texte. –

Répondre

7

En bref: vous ne pouvez pas vous connecter avec internic.net sur le port 43 de votre client actuel. Le port du serveur n'est pas disponible, votre pare-feu bloque le trafic ou votre client ne peut pas résoudre le nom symbolique du serveur.

+0

+1: Ne pas résoudre l'adresse du tout donnerait une erreur différente. S'il résout incorrectement l'adresse, vous pouvez obtenir cette erreur. J'ai essayé de telnet moi-même ne crois pas que ce service fonctionne sur ce serveur (ou vous ne pouvez pas y accéder) –

+0

alors quel devrait être le numéro de port ?? –

+1

Comment le saurait-il? À quel service essayez-vous d'accéder? – chzbrgla

5

J'ai fait un peu de creuser autour. Le port 43 est le service WHOIS, et il semble que vous devriez utiliser "whois.internic.net" comme nom d'hôte pour l'instance Internic du service WHOIS.


Je suis actuellement obtenir « Pas de route pour accueillir » pour whois.internic.net ...

Ma conclusion est que l'hôte et/ou de services à whois.internic.net ne sont pas fiables à le moment. Je suggère que vous utilisiez plutôt le formulaire de recherche sur "http://internic.net/whois.html".


Le formulaire de recherche ci-dessus donne aucune information pour « www.webopedia.com » ... car il a aucune information sur ce domaine! Mais il a des informations sur "webopedia.com". Cela me semble logique:

  • « webopedia.com » est le nom de domaine principal enregistré auprès de certains registraire de domaine et servi par les serveurs DNS « .com ». Il a des informations WHOIS.

  • « www.webopedia.com » est un sous-domaine dont les informations DNS est servi par les gens qui dirigent « webopedia.com »; voir au dessus.

Tout cela est confirmé en regardant les enregistrements DNS pour les deux noms. Utilisez ou l'outil Windows équivalent pour regarder les enregistrements DNS.

En bref, votre programme dit la vérité ... quand il fonctionne.

+0

Maintenant, mon programme ne donne pas d'exception.Mais pour toute url (webopedia.com) dans ce cas, il dit No Match pour: www.webopedia.com pourquoi est-ce si? –