簡體   English   中英

java.net.SocketTimeoutException:連接失敗

[英]java.net.SocketTimeoutException: failed to connect


我有一個工作的xmlparser
但不幸的是,當我使用移動數據時遇到錯誤。
Wi-Fi上不會出現此問題,並且該頁面隨時可用。
我做錯了什么?
我已獲得Internet許可。

堆棧跟蹤

    05-14 21:26:35.628: W/System.err(17691): java.net.SocketTimeoutException: failed to connect to buie.vlsolutions.nl/185.10.98.4 (port 80) after 15000ms
    05-14 21:26:35.633: W/System.err(17691):    at libcore.io.IoBridge.connectErrno(IoBridge.java:159)
    05-14 21:26:35.633: W/System.err(17691):    at libcore.io.IoBridge.connect(IoBridge.java:112)
    05-14 21:26:35.633: W/System.err(17691):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
    05-14 21:26:35.633: W/System.err(17691):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
    05-14 21:26:35.633: W/System.err(17691):    at java.net.Socket.connect(Socket.java:842)
    05-14 21:26:35.633: W/System.err(17691):    at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
    05-14 21:26:35.638: W/System.err(17691):    at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
    05-14 21:26:35.638: W/System.err(17691):    at nl.vlsolutions.buienl.MainActivity.downloadUrl(MainActivity.java:475)
    05-14 21:26:35.638: W/System.err(17691):    at nl.vlsolutions.buienl.MainActivity.loadXmlFromNetwork(MainActivity.java:342)
    05-14 21:26:35.638: W/System.err(17691):    at nl.vlsolutions.buienl.MainActivity.access$2(MainActivity.java:334)
    05-14 21:26:35.643: W/System.err(17691):    at nl.vlsolutions.buienl.MainActivity$DownloadXmlTask.doInBackground(MainActivity.java:307)
    05-14 21:26:35.643: W/System.err(17691):    at nl.vlsolutions.buienl.MainActivity$DownloadXmlTask.doInBackground(MainActivity.java:1)
    05-14 21:26:35.643: W/System.err(17691):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
    05-14 21:26:35.643: W/System.err(17691):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
    05-14 21:26:35.643: W/System.err(17691):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
    05-14 21:26:35.643: W/System.err(17691):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
    05-14 21:26:35.643: W/System.err(17691):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
    05-14 21:26:35.643: W/System.err(17691):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    05-14 21:26:35.648: W/System.err(17691):    at java.lang.Thread.run(Thread.java:856)

函數downloadUrl

private InputStream downloadUrl(String urlString) throws IOException {
    URL url = new URL(urlString);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setReadTimeout(10000 /* milliseconds */);
    conn.setConnectTimeout(15000 /* milliseconds */);
    conn.setRequestMethod("GET");
    conn.setDoInput(true);
    // Starts the query
    conn.connect();     // Line 475
    return conn.getInputStream();
}

事實證明,我的數據提供商提供的DNS服務器存在問題。 因為我的服務器剛剛更改了IP地址,而DNS服務器尚未更新。

您是否嘗試增加連接超時? 與wifi相反,您的移動數據連接速度可能太慢。 使用try和catch並在此處發布異常,在這種情況下,我認為它比logcat更有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM