2012-05-24 2 views
0

wi-fi에서 휴대폰으로 전환 할 때만 발생하는 것으로 보이는 이상한 동작/오류가 나타납니다. 그 중 하나는 다음과 같은 예외 :Http 영구 연결 및 Android에서 Wi-Fi에서 셀룰러로 전환

로 java.net.SocketTimeoutException : 소켓 org.apache에서 org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl (기본 방법)에 연결되어 있지 않습니다. harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocket org.apache.harmony.luni에서 org.apache.harmony.luni.net.PlainSocketImpl.connect (PlainSocketImpl.java:247) 에서 (OSNetworkSystem.java:131) . net.PlainSocketImpl.connect (PlainSocketImpl.java:535) at java.net.Socket.connect (Socket.java:1071) at org.apache.harm ony.luni.internal.net.www.protocol.http.HttpConnection. (HttpConnection.java:62) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager $ ConnectionPool.getHttpConnection (HttpConnectionManager.java:145) org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager.getConnection (HttpConnectionManager.java:67) org.apache.harmony.luni.internal 에서 에서 . net.www.protocol.http.HttpURLConnection.getHTTPConnection (HttpURLConnection.java:821) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.connect (HttpURLConnection.java:807) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getOutputStream (Http java.util.Timer $ TimerImpl.run에서 com.nexage.android.reports2.AdReport2 $ ReportTask.run (AdReport2.java:492) 에서 URLConnection.java:1150) (Timer.java:290)

"연결이 끊어지지 않은"지속적인 연결로 인해 발생할 수 있습니까? 그렇다면 연결을 재설정 할 수있는 방법이 있습니까? 나는 HTTP가 무국적이어야한다는 것을 알고 있으며, HTTP 연결을 "재설정"하는 방법을 모르지만, OS 레벨에 버그가있을 수 있다고 생각한다. 부서진.

감사합니다. 일주일 동안이 문제를 해결하기 위해 노력했지만 아직 단서가 없습니다.

답변

0

네트워크 스위치를 감지하고 HTTP 세션을 다시 설정합니까? 네트워크 유형을 전환 할 때 HTTP/TCP 연결이 닫히고 다시 사용하려고 할 때와 비슷한 오류가 발생합니다.

Btw, 영구 HTTP 연결이 네트워크 연결을 끊을 때 지속되는 것은 아닙니다. 이것이 의미하는 바는 대부분의 경우 동일한 연결을 통해 둘 이상의 요청을 보낼 수 있다는 것입니다.