Voici le problème que je suis face: je tente de télécharger un fichier à partir d'un serveur tomcat utilisant le snipet de code suivantproblème lors du téléchargement d'un fichier
try
{
BufferedInputStream getit = new BufferedInputStream(new URL("http://192.168.2.180:8080/android.apk").openStream());
FileOutputStream saveit = new FileOutputStream(path);
BufferedOutputStream bout = new BufferedOutputStream(saveit,1024);
byte data[] = new byte[1024];
int readed = getit.read(data,0,1024);
while(readed != -1)
{
bout.write(data,0,readed);
readed = getit.read(data,0,1024);
}
bout.close();
getit.close();
saveit.close();
}
catch(Exception e)
{
e.printStackTrace
}
Les travaux ci-dessus très bien quand je le lance sur la émulateur, mais lorsque je tente de le tester sur mon appareil, il ne fait rien, et ~ 50 sec plus tard, il lance une exception « délai d'attente de prise » à la ligne
BufferedInputStream getit = new BufferedInputStream(new URL("http://192.168.2.180:8080/android.apk").openStream());
Qu'est-ce qui se passe et comment puis-je répare le ?
est ici le stacktrace
04-19 12:28:19.865: WARN/System.err(2962): java.net.SocketException: The operation timed out
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.platform.OSNetworkSystem.connectSocketImpl(Native Method)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.platform.OSNetworkSystem.connect(OSNetworkSystem.java:125)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:227)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:521)
04-19 12:28:19.865: WARN/System.err(2962): at java.net.Socket.connect(Socket.java:1019)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:67)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager$ConnectionPool.getHttpConnection(HttpConnectionManager.java:151)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager.getConnection(HttpConnectionManager.java:73)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getHTTPConnection(HttpURLConnection.java:826)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:812)
04-19 12:28:19.865: WARN/System.err(2962): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1054)
04-19 12:28:19.865: WARN/System.err(2962): at java.net.URL.openStream(URL.java:674)
est l'IP de l'hébergeur: http://192.168.2.180:8080/ est-il disponible sur un réseau public? – Samuh
ceci mon comp IP! Franchement, je ne sais pas, comment puis-je vérifier cela? – rantravee
Oui c'est. D'un autre comp sur le même réseau j'ai tapé 192.168.2.180:8080 dans un navigateur, et la page d'accueil de tomcat a été chargée – rantravee