2014-05-14 37 views
2

我有發送和從給定的網站TIdTCPClient接收數據的應用程序 - 看起來是這樣的:如何計算使用TIdTCPClient或其他Indy客戶端組件的網站響應時間?

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

其中動態創建clientRequestclientResponse是服務器(想要的網站)將作爲響應。所以我的問題是我如何計算我的TCPClient連接到的網站的平均響應時間?

+0

你有什麼問題?測量時間或計算平均值? –

+2

如果你正在和一個網站交談,你爲什麼使用'TIdTCPClient'而不是'TIdHTTP'? –

+0

@Remy就像我在我的問題中說過的那樣 - 只要有人提供計算網站響應時間的解決方案,任何Indy客戶端都可以完成這項工作 - 我只有兩個應用程序 - 一個使用TIdHTTP,一個使用TIdTCPClient,僅提供示例代碼其中之一。 –

回答

3

看看Indy的Ticks()GetTickDiff()功能,例如:

uses 
    ..., IdGlobal; 

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