2016-03-17 43 views
1

連接套接字超時例外,我有這樣的代碼來測試與HTTPS URL連接:與Android

cTimerTask = new Timer(); 
    cTimerTask.scheduleAtFixedRate(new TimerTask() { 
     public void run() { 
try { 
URL myUrl = new URL("https://www.google.it"); 
          HttpsURLConnection connection = (HttpsURLConnection) myUrl.openConnection(); 
          connection.setConnectTimeout(15000); 
          connection.connect(); 
          Log.d(TAG, "!!! responsecode: " + connection.getResponseCode()); 

          //Log.d(TAG, "connection ok"); 

         } catch (MalformedURLException e) { 
          Log.d(TAG, "!!! Malformed URL"); 
          e.printStackTrace(); 
         } catch (IOException e) { 
          e.printStackTrace(); 
    } 

      } 
     }, GlobalClass.DELAY_CONNECTION_CHECK, GlobalClass.PERIOD_CONNECTION_CHECK); 

有時(並不總是)什麼是錯的,我有SocketTimeoutException,但我有沒有問題連接,互聯網運作良好。我已經使用了這段代碼很長一段時間,但在上週我有這個問題。

W/System.err: java.net.SocketTimeoutException: failed to connect to www.google.it/216.58.210.195 (port 443) after 15000ms 
W/System.err:  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183) 
W/System.err:  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456) 
W/System.err:  at java.net.Socket.connect(Socket.java:882) 
W/System.err:  at com.android.okhttp.internal.Platform.connectSocket(Platform.java:174) 

你能幫我嗎?

回答

0

您可以直接ping IP,並檢查您是否收到任何迴應!

+0

thx!現在看起來工作更好了!我已經完成了一個測試檢查,從ping到IP的%數據包丟失 – Marco