J'essaie de télécharger un fichier texte XML à partir d'un serveur Web à l'aide de cette méthode:
java.net.SocketException: Network is unreachable: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.Socket.connect(Socket.java:518) at java.net.Socket.connect(Socket.java:468) at sun.net.NetworkClient.doConnect(NetworkClient.java:157) at sun.net.www.http.HttpClient.openServer(HttpClient.java:389) at sun.net.www.http.HttpClient.openServer(HttpClient.java:516) at sun.net.www.http.HttpClient.<init>(HttpClient.java:233) at sun.net.www.http.HttpClient.New(HttpClient.java:306) at sun.net.www.http.HttpClient.New(HttpClient.java:318) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:788) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:729) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:654) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:977) at java.net.URL.openStream(URL.java:1009) at MessagePanel.download(MessagePanel.java:640) at WelcomThread.run(MainBody2.java:891)
6 Réponses :
"Le réseau est inaccessible" signifie que cela. Vous n'êtes pas connecté à un réseau. C'est quelque chose en dehors de votre programme. Pourrait être un mauvais réglage du système d'exploitation, une carte réseau, un routeur, etc. p>
C'est aussi, mais est-ce moi ou n'y est pas de définition pour addurl code> n'importe où là-bas?
Vous êtes confronté à une ventilation de la connexion. Est-ce que cela se produit dans la connexion 3G, wifi ou "simple" sur un ordinateur? P>
Quoi qu'il en soit, vous devez supposer que la connexion peut être perdue de temps en temps, lors de la rédaction de votre application. Par exemple, avec des mobiles, cela se produit fréquemment dans le tube, dans les sous-sols, etc. avec des applications PC, cela est moins fréquent mais se produit parfois. P>
Une tentative peut être une bonne solution. Et un message d'erreur propre qui explique le réseau n'est pas disponible pour le moment aussi. P>
J'ai ajouté un fil que pour demander des délais de demande, il essaie à nouveau. Ceci c'était efficace. Parce que dans mon réseau, nous diffusons plusieurs contenus médiatiques; ces problèmes se produisent. Merci pour l'aide
J'ai confronté à la situation d'obtention java.net.socketException code> pas parfois mais à chaque fois. J'ai ajouté
-djava.net.preferipv4stack = true code> à la ligne de commande Java et mon programme a commencé à fonctionner correctement. P>
Je n'ai pas testé avec votre code, ce serait donc totalement différent, je voudrais toujours partager mon expérience. (Aussi, cela doit être une réponse trop tardive, j'espère que cette réponse aiderait toujours quelqu'un à l'avenir) p>
J'ai récemment fait face à une expérience similaire comme si vous avez une fois que quelque chose que le réseau est inaccessible, mais parfois non. En termes de mots courts, quelle était la cause est trop petite. Il semble que Java jette ioexception avec la standing "réseau est inaccessible" lorsque la connexion échoue à cause de celle-ci. C'était tellement trompeur (j'attendrais quelque chose comme dire «Time Out») et j'ai passé presque un mois pour la détecter. p>
Ici, j'ai trouvé un autre message sur la façon de définir du temps.
alternative à java.net.url pour un délai d'attente personnalisé a > p>
Encore une fois, cela pourrait ne pas avoir le même cas que vous avez rencontré, mais quelqu'un pour l'avenir. P>
Cela vient d'arriver à moi. Aucune des réponses n'a contribué, car la question a été modifiée récemment la configuration de l'hôte cible et mettez une valeur d'hôte incorrecte là-bas. Donc, cela pourrait aussi être des détails de connexion erronés. P>
J'ai fait face à cette erreur après la mise à jour de la configuration de mon adaptateur réseau (migration vers un réseau couplé Nic par PowerShell Commervelet New-Netswitchteam). Je suppose que quelque chose dans la configuration Java doit être adapté pour refléter cette modification du système Java. Mais il n'est pas clair lorsque les changements devraient avoir lieu. Je cherche plus loin. P>
! (str == null) code> il semble que ce soit déroutant, vous devriez écrire
str! = null code>.
Où et comment initialisez-vous la variable Advurl?