我看到了一些奇怪的行为/错误,似乎只有在从wi切换到蜂窝时才会发生。其中一个例外是:
org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl(Native java.net.SocketTimeoutException:套接字在org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocket(OSNetworkSystem.java:131) ( org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:247) at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:535) at java.net.Socket.connect(Socket.java:1071) at org )上没有连接.apache.harmony.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) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager.getConnection(HttpConnectionManager.java:67) at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getHTTPConnection(HttpURLConnection.java:821)在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(HttpURLConnection.java:1150) at com.nexage.android.reports2.AdReport2$ReportTask.run(AdReport2.java:492) at java.util.Timer$TimerImpl.run(Timer.java:290)
这是否是由于一种持续的联系,不知何故“卡住”了?如果是的话,是否有任何方法来重置连接?我知道HTTP应该是无状态的,我也不知道有什么方法可以“重置”HTTP连接,但是我认为在OS级别上可能存在一些bug,即使连接被破坏了,也会试图使它保持打开状态。
谢谢,我已经试着解决这个问题一个星期了,还没有任何线索!
发布于 2012-05-24 19:28:24
您是否检测到网络交换机并重新建立HTTP会话?当您切换网络类型时,您的HTTP/TCP连接将被关闭,导致类似于您再次尝试使用它时所看到的错误。
顺便说一下,持久HTTP连接并不意味着当您断开网络连接时它将是持久的。这意味着,在大多数情况下,您可以通过同一个连接发送多个请求。
https://stackoverflow.com/questions/10743987
复制相似问题