我会说这取决于你正在尝试测量的准确时间间隔,从您发送的请求的最后一个字节到您收到的响应的第一个字节的时间量?还是直到收到整个答复?或者是否尝试仅测量服务器端的时间?
如果您只想衡量服务器端的处理时间,那么您将有困难的时间考虑到您的请求到达时所花费的时间以及返回的响应时间。否则,由于您通过Socket自己管理请求,您可以通过检查系统时钟并计算差异来测量任何两个时刻之间的经过时间。例如:
public void sendHttpRequest(byte[] requestData, Socket connection) {
long startTime = System.currentTimeMillis();
writeYourRequestData(connection.getOutputStream(), requestData);
byte[] responseData = readYourResponseData(connection.getInputStream());
long elapsedTime = System.currentTimeMillis() - startTime;
System.out.println("Total elapsed http request/response time in milliseconds: " + elapsedTime);
}
此代码将衡量从您开始写出请求到完成收到响应的时间,并打印结果(假设您具有特定的读/写方法)。