【问题标题】:How to calculate response time from website using TIdTCPClient or another Indy client component?如何使用 TIdTCPClient 或其他 Indy 客户端组件计算来自网站的响应时间?
【发布时间】:2014-05-14 15:13:09
【问题描述】:

我有一个使用 TIdTCPClient 从给定网站发送和接收数据的应用程序 - 看起来像这样:

TCPClient.Host := myHost;
TCPClient.Port := myPort;
TCPClient.Connect;
TCPClient.IOHandler.Write(clientRequest);
TCPClient.IOHandler.ReadStream(clientResponse, size, False);

clientRequest 是动态创建的,clientResponse 是服务器(所需网站)作为响应发送的内容。所以我的问题是如何计算 TCPClient 连接到的网站的平均响应时间?

【问题讨论】:

  • 你的问题是什么?测量时间还是计算平均值?
  • 如果您正在与网站交谈,为什么使用TIdTCPClient 而不是TIdHTTP
  • @Remy 就像我在问题中所说的那样——只要有人提供计算网站响应时间的解决方案,任何 Indy 客户端都可以完成这项工作——我只有两个应用程序——一个使用 TIdHTTP,一个使用TIdTCPClient 并仅提供其中之一的示例代码。
  • @SirRufo 我将不得不为两者编写代码,但衡量时间是更重要的。
  • @Roman_Bezjak:您的问题中没有提到“任何”Indy 客户端,或者您有另一个使用 TIdHTTP 的应用程序这一事实。

标签: delphi tcp indy


【解决方案1】:

查看 Indy 的 Ticks()GetTickDiff() 函数,例如:

uses
  ..., IdGlobal;

var
  StartTicks: LongWord;
begin
  ...
  StartTicks := Ticks;
  TCPClient.IOHandler.ReadStream(clientResponse, size, False);
  Elapsed := GetTickDiff(StartTicks, Ticks);
  ...
end;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-21
    • 2018-02-25
    • 2012-04-30
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多