即时通讯使用ksoap2库,工作正常,但当我使用Android 4.0和即时通讯3G时,当我尝试设置连接时,套接字始终关闭。 我读到的是关于连接保持活着,但我不知道如何设置此属性。
有什么想法吗?
答案 0 :(得分:3)
在库源HttpConectionSE.java中设置属性连接到keep-alive编译包并使用。
答案 1 :(得分: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-
答案 2 :(得分:0)