gpt4 book ai didi

java - HttpTransportSe.call() 方法最多需要一分钟的网络服务调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:05:57 24 4
gpt4 key购买 nike

我正在从我的 Android 应用程序调用网络服务。我在整个应用程序中对该服务进行了许多不同的调用,除了一个之外,每个调用都在不到一秒的时间内返回数​​据。我的一个调用最多可能需要一分钟才能返回数据,即使实际的 Web 服务调用几乎是瞬时的。该行出现问题:

transport.call(SOAP_ACTION, soapEnvelope);

这会被调用,并且值几乎会立即从 Web 服务返回。但可能需要一分钟才能到达下一行:

SoapObject result = (SoapObject) soapEnvelope.bodyIn;

在网络服务返回数据和应用程序点击下一行(上图)之间发生了什么?有没有办法减少这种延迟?有什么简单的检查方法吗?

最佳答案

Is there a way to reduce this delay? Is there anything simple to check?

知道的唯一方法是衡量各个地区的时间差异。对于 SOAP Web 服务调用,这些是要衡量的时间。

客户端时间

客户端应用程序代码 -> 请求处理程序 ->请求序列化 ->请求 dispatch ->HTTP 传输 -> 服务器端

服务器端时间

接收 HTTP 请求 -> 反序列化 -> 应用程序代码 -> 响应处理程序 -> 序列化 -> 调度 -> HTTP 传输

阻塞通常发生在应用程序代码、处理程序和网络中。衡量这些,您可以找到时间花在了哪里。

  • 要测量您的应用程序代码和处理程序占用的 CPU 时间,请使用剖析器。我推荐 Jprofiler .
  • 要测量网络时间,请 ping 目标服务器并使用网络调试代理,如 Charles .它可以告诉您请求在网络上花费的时间。

关于java - HttpTransportSe.call() 方法最多需要一分钟的网络服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15572549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com