0

Wi-Fiから携帯電話に切り替えたときにのみ発生するように見える奇妙な動作/エラーが表示されます。それらの1つは、次の例外です。

java.net.SocketTimeoutException:ソケットはorg.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl(ネイティブメソッド)の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)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)org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getHTTPConnection(HttpURLConnection.java:821)atorg.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)atcom.nexage.android.reports2。 AdReport2 $ ReportTask.run(AdReport2.java:492)at java.util.Timer $ TimerImpl.run(Timer.java:290)getOutputStream(HttpURLConnection.java:1150)at com.nexage.android.reports2.AdReport2 $ ReportTask.run(AdReport2.java:492)at java.util.Timer $ TimerImpl.run(Timer.java:290)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接続を「リセット」する方法はわかりませんが、接続が壊れた。

おかげで、私はこの問題を1週間解決しようとしてきましたが、まだ手がかりがありません。

4

1 に答える 1

0

ネットワーク スイッチを検出し、HTTP セッションを再確立しますか? ネットワークの種類を切り替えると、HTTP/TCP 接続が閉じられ、再度使用しようとすると同様のエラーが発生します。

ところで、持続的な HTTP 接続は、ネットワークから切断しても持続するという意味ではありません。つまり、ほとんどの場合、同じ接続で複数のリクエストを送信できるということです。

于 2012-05-24T19:28:24.400 に答える