6

मैं कि सर्वर URL निम्न कोड का उपयोग करके उपलब्ध है या नहीं की जाँच करने के लिए एक HttpURLConnection का उपयोग कर रहा है:HttpURLConnection getResponseCode() वापस नहीं डीईओ अगर कोई इंटरनेट कनेक्शन

try { 
    boolean connectionFailed = false; 
    URL knownURL = new URL("http://www.google.com"); 
    httpConnection = (HttpURLConnection) knownURL.openConnection(); 
    httpConnection.setConnectTimeout(5000); 
    responseCode = httpConnection.getResponseCode(); 
    if (responseCode != 200) { 
     status = ConnectionStatus.NOT_CONNECTED; 
    } 
} 
catch(Exception e) { 
    connctionFailed = true; 
} 

इस कोड के तहत ठीक काम कर रहा है सामान्य परिस्थितियां लेकिन जब कोई इंटरनेट कनेक्शन नहीं होता है (क्योंकि राउटर डिस्कनेक्ट हो जाता है या हॉटस्पॉट नहीं होता है), httpConnection.getResponseCode() निष्पादित नहीं किया जाता है (फ़ंक्शन वापस नहीं आता है)। मैं इसे कैसे ठीक करूं?

+0

'TRY कैच ब्लॉक' में कोड स्निपेट डालने का प्रयास करें। मुझे संदेह है कि '(HttpURLConnection) knownURL.openConnection();' कोई इंटरनेट नहीं होने पर सॉकेट अपवाद फेंकता है, इसलिए आप 'httpConnection.getResponseCode();' –

+0

ज्ञात URL.openConnection() निष्पादित कर रहे हैं और यह है ब्लॉक पकड़ने के लिए नहीं आ रहा है। GetResponseCode() – mindus

+0

पर कॉल करते समय यह रोकना बंद हो जाता है। और हाँ, आपको अपवाद मिल रहा है। इसीलिए। अपने लॉगकैट की जांच करें और यहां पोस्ट करें। – Darpan

उत्तर

0

आपके पास उच्च परत पर पकड़ने का प्रयास हो सकता है जो सॉकेटटाइम अपवाद को पकड़ रहा है।

+0

ने कोशिश की कि अभी भी यह ब्लॉक – mindus

4

httpConnection.setConnectTimeout(5000) कनेक्शन के लिए समय समाप्ति है।

यह httpConnection.getResponseCode() के लिए समय समाप्ति नहीं है।

यदि आप httpConnection.setReadTimeout(2000) जोड़ते हैं, httpConnection.getResponseCode() कोई कनेक्शन उपलब्ध होने पर अपवाद फेंकना चाहिए।

+0

को पकड़ने के लिए नहीं आ रहा है ऐसा लगता है कि यह GetResponseCode() को TimeOutExceptions को फेंकना शुरू कर देना चाहिए। ने करदी? मुझे एक ही समस्या है और मैं टाइमआउट को प्रोग्राम किए बिना सरल समाधान की तलाश में हूं। –

+0

यह स्वीकार्य समाधान होना चाहिए –

संबंधित मुद्दे