마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 service 에서 http 통신을하면 IOEXCEPTION 이 뜹니다..

0 추천
    
 
           String idx = intent.getStringExtra("idx");
           Log.i("idx==>",idx);
           new Location_timer(idx).execute();
 
 
 
class Location_timer extends AsyncTask<String, String, String> {
           String idx;
           public Location_timer(String idx) {
               this.idx = idx; //wr_id 값 가져오기
           }
 
           @Override
           protected String doInBackground(String... params) {
                
                           try {
                               Log.i("success!!!!!@#", "successss");
                               URL url = new URL(server_url2);
                               HttpURLConnection http = (HttpURLConnection) url.openConnection();
                               http.setDefaultUseCaches(false);
                               http.setDoInput(true);
                               http.setDoOutput(true);
                               http.setRequestMethod("POST");
                               http.setRequestProperty("content-type", "application/x-www-form-urlencoded");
                                
                               StringBuffer buffer = new StringBuffer();
                               buffer.append("idx").append("=").append(idx);
                                
                               OutputStreamWriter outStream = new OutputStreamWriter(http.getOutputStream(), "EUC-KR");
                               PrintWriter writer = new PrintWriter(outStream);
                               writer.write(buffer.toString());
                               writer.flush();
                               InputStreamReader tmp = new InputStreamReader(http.getInputStream(), "EUC-KR");
                               BufferedReader reader = new BufferedReader(tmp);
                               StringBuilder builder = new StringBuilder();
                               String str;
                               while ((str = reader.readLine()) != null) {
                                   builder.append(str + "\n");
                               }
                               HttpPostData_Result3 = builder.toString();
                               Log.i("aljasms==>", HttpPostData_Result3);
                                
                           } catch (MalformedURLException e) {
                               Log.e("async error", e.getMessage());
                           } catch (IOException e) {
                               Log.e("IO error", e.getMessage());
                           }
                        
                
                
               return null;
           }
           @Override
           protected void onPostExecute(String unused) {
 
           }  
            
       }
   

서비스에서 HTTP통신을하는데 통신할려는 URL을 IOEXCEPTION 이 뜨는데 혹시 원인을 알수있을까요?

sadeva (21,550 포인트) 님이 2017년 2월 6일 질문

2개의 답변

0 추천
url이 잘못된것 아닙니까?

logcat도 보고싶네요.
익명사용자 님이 2017년 2월 7일 답변
답변감사합니다 어플이 실행중일때는 정상적으로 http통신이 이루어지는데 어플을 종료하고 http통신이 이루어질려고하면 IOEXCEPTION이뜹니다ㅠㅠ
0 추천
IOException이 나올 이유는 많습니다.

1. INTERNET permission이 없을 경우

2. URL이 잘 못되었거나, DNS lookup에 실패하여, 호스트네임을 잘 못 가져올 때

3. 단말에서 네트워크 자체가 안될때(비행기 모드, wifi 연결 불량 등..)

하나씩 체크 해 보세요..
익명사용자 님이 2017년 2월 7일 답변
답변감사합니다 어플이 실행중일때는 정상적으로 http통신이 이루어지는데 어플을 종료하고 http통신이 이루어질려고하면 IOEXCEPTION이뜹니다ㅠㅠ
...