在我的应用程序中,我使用 ksoap2 库调用了一些 Web Serices (WS),并且几乎所有时间它都运行得很快。但有时,WS 的调用很慢。
我有这样的代码:
beforecall = System.currentTimeMillis();
androidHttpTransport1.call(NameSpaces.NAMESPACE+UserWSMethodName.GETUSERINFO,envelope1);
Log.d("soapdebug","call duration="+(System.currentTimeMillis()-beforecall));
通常我会得到 1 或 2 秒(最大),但有时我会得到 11 秒......当呼叫太慢时,所有 WS 都会发生这种情况,一段时间后(例如几个小时)它会恢复正常并变得快...
在wireshark中,我看到对于每个调用,call()
调用方法之间经过的时间和服务器使用[SYN]数据包建立TCP连接的时间大约是10秒,所以在这段时间内时间是花了,但我不明白为什么有时会发生这种情况。
什么可能导致问题?可能是设备配置?