2016-02-17 26 views
0

在我的Android應用程序中,我運行了http post,並且我得到了timeout異常,當我通過3G/4G而不是通過WiFi連接時(我發送圖像,但是這種情況發生在1 Kb的圖像上,問題不是圖像的大小,我我確信這一點)。爲什麼我的android應用程序中的Http Post在設備通過3G連接時獲取Timeout異常?

這裏的代碼。

我使用Android異步Http Client

在此先感謝。

AsyncHttpClient httpClient = new AsyncHttpClient(); 
    RequestParams requestParams = new RequestParams(); 
    httpClient.setTimeout(25000); 
    httpClient.setConnectTimeout(25000); 
    httpClient.setResponseTimeout(25000); 
    destination = new File(path); 
    requestParams.put("file", destination); 
    httpClient.post("http://" + serverUrl + ":8081/readplate", requestParams, new JsonHttpResponseHandler() { 

       @Override 
       public void onFailure(int statusCode, Header[] headers, java.lang.Throwable throwable, org.json.JSONObject response) { 
        //exception here 
        ... 

       } 

       @Override 
       public void onSuccess(int statusCode, Header[] headers, org.json.JSONArray response) { 

        ... 

       } 
    } 
+1

可能重複:http://stackoverflow.com/q/ 4252352分之17473617 –

回答

0

正如馬克暗示的意見,也可能是網絡問題,而不是你的代碼,這絕對是看的第一個地方。例如,由於某種原因,您正在使用的端口8081可能會被運營商阻止。

確保它不是你自己的代碼本身導致問題的一種方法是使用基於瀏覽器的POST工具,例如具有WiFI和3G加密狗的筆記本電腦 - 下面的鏈接。或者,您也可以在Android設備上使用REST客戶端執行相同的測試 - 也可以在下面進行鏈接。在WiFi和3G/4G上測試,如果您發現與應用程序相同的問題,則很可能會認爲問題不在您的代碼中。

郵差鏈接:

REST客戶端Android版:

相關問題