【发布时间】:2014-05-24 23:40:55
【问题描述】:
我想知道是否有办法以某种方式 ping 或发送一个空请求,以便使用 delphi 中的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;
在这个伪代码中我成功连接到 someHost:somePort 但显然我没有正确使用TCPClient.IOHandler.ReadStream - 有人可以帮我修复我的代码(我真的必须使用TIdTCPClient)或告诉我如何替换这些行那些工作不正常?
【问题讨论】:
-
为什么你认为你没有正确使用它?会发生什么,您预计会发生什么?
-
@Rob at row
TCPClient.IOHandler.ReadStream(responseStream, -1, True);我的程序崩溃了,我不知道为什么。 -
究竟是什么样的崩溃?请更具体。此外,您正在设置
AReadUntilDisconnect=True,因此ReadStream()将保持读取数据,直到服务器关闭连接。