2009-09-07 5 views
0

Je ne parviens pas à me connecter à un serveur distant connu via le code Java; l'exception lors de la connexion est java.net.NoRouteToHostException: Aucune route vers l'hôte.UnknownHostException pour le serveur java

Mais étrangement, je suis capable de me connecter au même serveur via SSH.

Détails: client Simple Java lorsque tente d'établir une connexion avec le serveur Java autonome, tout en conneting l'exception se produit à déclaration suivante:

Socket socket = new Socket(ServerIP ServerPort); 

Le port nécessaire est ouvert sur le serveur afin que demander à l'extérieur peut venir.

Encore une fois ce qui suit est faux rapports

InetAddress.getByName(SERVER_IP).isReachable(1000) 

Le serveur fonctionne sur Fedora, Java 5.

FYI: Java cannot resolve DNS address from AIX: UnknownHostException est presque identique à ma question, mais de toute façon ce n'est pas lié à AIX; En outre, je pense que le problème est plus d'un problème de réseau ou de pare-feu.

Veuillez me guider.

Répondre

0

Je suggère des choses de test pour affiner la zone de problème:

  1. peut vous telnet à l'hôte/port?
  2. Est-ce que Java peut se connecter à un autre hôte/port avec succès?
  3. Utilisez-vous des noms d'hôte ou des adresses IP? Essayez celui que vous n'utilisez pas.
  4. L'un des ordinateurs exécute-t-il un pare-feu?
+0

1 Non Je ne peux pas utiliser Telnet comme port/port. 2 Oui, je suis capable de me connecter à d'autres adresses IP dans le réseau local. Le seul serveur distant est en train d'être essayé. 3 J'utilise une adresse IP. 4 Oui, les deux machines utilisent un pare-feu, mais le pare-feu du serveur, mais a permis d'écouter sur un port spécifique, le pare-feu de la machine client ne devrait pas poser de problème. netstat -pan | grep 5014 tcp 0 0 ::: 5014 ::: * LISTEN 6212/java – nilesh

+0

Si vous ne pouvez pas utiliser telnet sur l'hôte/le port, il y a quelque chose de fondamentalement rompu avec les paramètres réseau quelque part. – SteveD

+0

Récemment j'ai vérifié, je suis capable de telnet certains ports (le port sur lequel mysql-cluster est en cours d'exécution); mais pas n'importe quel autre tel que 5014 mentionné plus tôt. J'ai même essayé d'utiliser d'autres ports mais à aucun usage. – nilesh

0

De plus, vous devriez également vérifier votre fichier .ssh/config, peut-être il y a un Hostname différent défini pour le nom que vous utilisez sur la ligne de commande.

+0

il n'y a pas un tel fichier à ma connaissance, aussi j'ai essayé de me connecter via d'autres machines aussi, il s'est bien connecté. – nilesh

0

Qu'en est-il de/etc/hosts? Peut-être que cela interfère en quelque sorte? Juste une supposition.

Questions connexes