检查从移动设备到服务器的请求需要多长时间

时间:2013-02-18 09:13:04

标签: android performance http

我正在从我的移动Android应用程序向服务器发送http请求,我想打印出上传时间。我怎样才能做到这一点?

在请求之前和之后打印系统时间无济于事,因为它还包括服务器回答的时间。

这是我当前的请求代码:

HttpPost httppost = getHeader(uri, 0);    //fileSize);
httppost.setEntity(reqEntity);
HttpResponse response = null;
httpclient = new DefaultHttpClient();

Log.i(TAG, "start execute");
response = httpclient.execute(httppost);
int code = response.getStatusLine().getStatusCode();
if (code != 200) {
    Log.i(TAG, "http error! : " + code);
    throw new HttpException("Server returns with http error (" + code + ")");
}

2 个答案:

答案 0 :(得分:1)

这是一个流程:

  • 发送到服务器Android当前时间。
  • 服务器应存储服务器时间和安装时间之间的时间偏差
  • 接下来,发送您的请求,其中一个参数应该是Android发送消息的时间。
  • 服务器将占用当地时间,在服务器时间和android时间之间添加偏移量并计算接收时间。

简单,对吗?

=============================================== =============

让我们说安卓有时间14:23:01:010 服务器时间14:23:15:000

Android使用本地时间和服务器存储偏移量发送请求  (14:23:15:000) - (14:23:01:010)= 13.990秒。

现在Android在本地时间为14:24:01:000时发送消息 当 HIS 当地时间为14:24:16:050时,服务器收到消息。

所以(14:24:16:050) - (14:24:01:000)= 15.050秒。

现在删除偏移量:

15.050 - 13.990 = 1.06秒

这是您的请求时间

答案 1 :(得分:0)

在发送HTTP请求之前简单节省时间并在返回时节省时间,然后它们的差异将是请求完成所花费的时间。