2014-09-23 12 views
9

मैं वॉली का उपयोग करके एक बाकी सेवा को मारने की कोशिश कर रहा हूं।वॉली टाइमआउट त्रुटि

public class AuthFunctions { 
    private static final String LOGIN_URL = "http://10.0.2.2:8080/stewayservices/user-management/users/10"; 
    boolean result; 
    public boolean loginUser(String email,String password){ 

     JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,LOGIN_URL,null,new Response.Listener<JSONObject>() { 
      @Override 
      public void onResponse(JSONObject response) { 
       Log.d("JsonObject Response",response.toString()); 
       try { 
        JSONObject user = response.getJSONObject("user"); 
        String firstName = user.getString("firstName"); 
        if (firstName.equals("Lokesh")){ 
         result = true; 
        } 
        else{ 
         result = false; 
        } 
       } catch (JSONException e) { 
        Log.d("Web Service Error",e.getMessage()); 
        e.printStackTrace(); 
       } 
      } 
     },new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError volleyError) { 
       Log.d("JsonObject Error Response",volleyError.toString()); 
      } 
     }); 
     request.setRetryPolicy(new DefaultRetryPolicy(500000, 
       DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
       DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
     AppController.getInstance().addToRequestQueue(request); 
     return result; 
    } 
} 

लेकिन यह मुझे वॉली टाइमआउट त्रुटि दे रहा है। नीचे लॉगक

D/JsonObject Error Response﹕ com.android.volley.TimeoutError 

कृपया मुझे यह बताएं कि मैं गलत कर रहा हूं या नहीं। एंड्रॉइड के बारे में स्टैक ओवरफ्लो में यह मेरा पहला सवाल है।

+0

क्या आप अपने लोकहोस्ट से कनेक्ट होने के बारे में निश्चित हैं? क्या आपका सर्वर पोर्ट 8080 पर सुन रहा है? क्या आपका फ़ायरवॉल बंद है? – mmlooloo

+0

क्या आपको कोई समाधान मिला? –

उत्तर

15

यह मेरे लिए काम किया:

request.setRetryPolicy(new RetryPolicy() { 
      @Override 
      public int getCurrentTimeout() { 
       return 50000; 
      } 

      @Override 
      public int getCurrentRetryCount() { 
       return 50000; 
      } 

      @Override 
      public void retry(VolleyError error) throws VolleyError { 

      } 
     }); 

आप उस समय बदल सकते हैं।

+2

या छोटा: request.setRetryPolicy (नया DefaultRetryPolicy ( 50000, 5, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); – marmor

4
com.android.volley.TimeoutError 

75% मामलों इस त्रुटि कनेक्टिविटी समस्या '

की वजह से हुई है, तो आप स्थानीय होस्ट या स्थानीय सर्वर पर परीक्षण कर रहे हैं में

चेक फ़ायरवॉल बंद

0

वॉली timeouterror जब फेंकता है यह अनुरोध में प्रदान किए गए यूआरएल से कनेक्ट नहीं हो सका। कारण हो सकते हैं:

1) कनेक्टिविटी। 2) यूआरएल मान्य नहीं है।

इसे एमुलेटर पर चलाने का प्रयास करें। इसे एमुलेटर पर काम करना चाहिए क्योंकि एमुलेटर एक ही मशीन पर चलता है और आपके वैंप के चलते एक ही आईपी है।

इसे वास्तविक डिवाइस पर काम करने के लिए अपने डिवाइस को उसी WLAN से कनेक्ट करें क्योंकि आपका wampserver चालू है। यदि एक ही डब्लूएलएएन से कनेक्ट नहीं है तो आपको अपनी PHP स्क्रिप्ट को वेब पर होस्ट करना होगा। ऐसा करने के लिए https://www.000webhost.com/ जैसी कई निःशुल्क वेब होस्टिंग साइटें उपलब्ध हैं, उन्हें चेक आउट करें।

इस सहायता की आशा करें!

2
String url = "https://api.joind.in/v2.1/events?start=" + start + "&resultsperpage=20&format=json"; 
Log.i("DREG", "onLoadMoreItems: " + url); 
final StringRequest stringRequest = new StringRequest(Request.Method.GET, url, 
     new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 
       // Add Code Here 
      } 
     }, 
     new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       if (error instanceof NetworkError) { 
       } else if (error instanceof ServerError) { 
       } else if (error instanceof AuthFailureError) { 
       } else if (error instanceof ParseError) { 
       } else if (error instanceof NoConnectionError) { 
       } else if (error instanceof TimeoutError) { 
        Toast.makeText(getContext(), 
          "Oops. Timeout error!", 
          Toast.LENGTH_LONG).show(); 
       } 
      } 
     } 
); 
stringRequest.setRetryPolicy(new DefaultRetryPolicy(
     10000, 
     DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
     DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
requestQueue.add(stringRequest); 
संबंधित मुद्दे