我想知道是否有辦法以某種方式ping或發送一個空的請求,以便查看給定服務器的響應(以及它的響應時間)與delphi中的TIdTCPClient
- 我試過的是這個:如何檢測服務器是否響應使用TIdTCPClient的請求?
TCPClient := TIdTCPClient.Create(nil);
responseStream := TMemoryStream.Create;
TCPClient.Host := someHost;
TCPClient.Port := somePort;
TCPClient.Connect;
startTime := Ticks;
TCPClient.IOHandler.ReadStream(responseStream, -1, True);
respTime := GetTickDiff(startTime, Ticks);
TCPClient.Disconnect;
在這個僞我成功地連接到,某:somePort但顯然我沒有使用正確TCPClient.IOHandler.ReadStream
- 有人可以幫我解決我的代碼(我真的要使用TIdTCPClient
)或告訴我如何更換行不正常?
爲什麼你認爲你沒有正確使用它?會發生什麼,你預期會發生什麼? –
@Rob在行'TCPClient.IOHandler.ReadStream(responseStream,-1,True);'我的程序崩潰了,我不知道爲什麼。 –
究竟是什麼樣的崩潰?請更具體一些。此外,您正在設置'AReadUntilDisconnect = True',所以'ReadStream()'將保持讀取數據,直到服務器關閉連接。 –