1

私はksoap2ライブラリを使用していますが、正常に動作しますが、Android 4.0を使用し、3Gを介して接続を設定しようとすると、常にソケットが閉じられます。接続キープアライブについて読んだことがありますが、このプロパティを設定する方法がわかりません。

何か案が?

4

3 に答える 3

3

ライブラリソースの HttpConectionSE.java で、プロパティ connection を keep-alive コンパイル パッケージに設定して使用します。

于 2012-09-07T11:27:30.650 に答える
2

遅すぎるかもしれませんが、これが私のようにここに到達し、同じ問題に夢中になっている将来の人々に役立つことを願っています.

これは Android のバグです。WiFi ではすべて正常に動作しますが、3G ではクラッシュします。4.1 で発生しましたが、4.2.2 では問題ありません。

これを解決するには、ファイルorg.ksoap2.transport.HttpTransportSEを変更する必要があります(ksoap2 アセンブリ jar を使用しているため、新しいファイルを拡張して MyHttpTransportSE と呼びました)。メソッドpublic void call(String soapAction, SoapEnvelope Envelope) をオーバーライドして、次の行をコメントアウトするだけです。

    //connection.setRequestProperty("Connection", "close"); 

もちろん、SSL を使用している場合は、新しい MyHttpTransportSE から独自のHttpsTransportSEを拡張する必要があります。

詳細はこちら: https://groups.google.com/forum/#!searchin/ksoap2-android/closed/ksoap2-

于 2013-09-12T08:59:00.310 に答える
0

Android 4.0 では、メイン スレッドでインターネット通信を実行することはできません。と一緒に行きますAsyncTask

詳細はこちらをご覧ください

または、こちらの質問をご覧ください。

于 2012-09-07T12:19:35.337 に答える