1

我使用 ksoap2 库,工作正常,但是当我使用 android 4.0 并且我超过 3G 时,当我尝试设置连接时,套接字总是关闭。我读到的是关于连接保持活动,但我不知道如何设置这个属性。

任何想法?

4

3 回答 3

3

在库源HttpConectionSE.java中设置属性连接keep-alive编译包使用。

于 2012-09-07T11:27:30.650 回答
2

也许太晚了四个,但我希望这对未来像我一样到达这里的人有所帮助,因为同样的问题而疯狂。

这是一个Android错误。一切都适用于 WiFi,但它在 3G 上崩溃。它发生在我的 4.1 上,但在 4.2.2 上没有问题。

要解决它,您必须修改文件org.ksoap2.transport.HttpTransportSE(我扩展了一个新文件并将其命名为 MyHttpTransportSE,因为我使用的是 ksoap2 程序集 jar)。只需覆盖方法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 回答