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

HTTP 서버 통신 에러 로그 문의 건

0 추천

안드로이드 와  HTTP 웹서버 통신을 하는 어플을 개발 중에 있습니다만,

urlConn = (HttpURLConnection) url.openConnection(); 코드를 실행 후, HttpURLConnection의 객체를 열어보면

connected = true; 라고 보여집니다.

그 후에 Log.i(TAG, "request() : urlConn.getResponseCode() -> " + urlConn.getResponseCode()); 코드를 실행하면 아래와 같은 예외가 발생을 합니다.

10-12 10:49:43.633: I/System.out(5335): (HTTPLog)-Static: isSBSettingEnabled false

10-12 10:49:43.633: I/System.out(5335): (HTTPLog)-Static: isSBSettingEnabled false

10-12 10:49:49.383: W/System.err(5335): java.io.IOException: unexpected end of stream on Connection{myhost:port, proxy=DIRECT@ hostAddress=***.***.***.** cipherSuite=none protocol=http/1.1} (recycle count=0)

10-12 10:49:49.383: W/System.err(5335): at com.android.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:258)

10-12 10:49:49.383: W/System.err(5335): at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:104)

10-12 10:49:49.383: W/System.err(5335): at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:1154)

10-12 10:49:49.383: W/System.err(5335): at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:982)

10-12 10:49:49.383: W/System.err(5335): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:482)

10-12 10:49:49.383: W/System.err(5335): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:418)

10-12 10:49:49.383: W/System.err(5335): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:540)

10-12 10:49:49.383: W/System.err(5335): at com.scspro.https.connetion.MyHttpConnectionClass.request(MyHttpConnectionClass.java:67)

line 67 : Log.i(TAG, "request() : urlConn.getResponseCode() -> " + urlConn.getResponseCode());

 

도움 부탁드립니다.. 검색해봐도 정확한 정보를 알 수가 없네요..

감사합니다.

쮸뿌쮸뿌 (2,470 포인트) 님이 2017년 10월 12일 질문

2개의 답변

0 추천
기본적으로 네트워크 연결은,

1. Connection 하고

2. Request를 보내면,

3. Response가 옵니다.

Response 는 상황에 따라서 몇초 후에 올 수도 있습니다.

상기 질문의 설명으로 보면, Request를 안한 것 같네요.

서버가 연결하자마자 뭔가를 보낸다면, (웹서버는 그럴리가 거의 없지만)

AsyncTask등으로 작업이 끝났을 때, Response를 확인해야 합니다.
Will Kim (43,170 포인트) 님이 2017년 10월 12일 답변
0 추천

 Log.i(TAG, "request() : urlConn.getResponseCode() -> " + urlConn.getResponseCode());

 

이거 전에 코드를 봐야할거 같네요

연결자체가 안된거 아니나?요

익명사용자 님이 2017년 10월 13일 답변
...