Как я могу найти время ответа HTTP-запроса через сокет

Я бы сказал, что это зависит javax от того, какой именно интервал java-se вы пытаетесь измерить, количество jdk времени от последнего байта jdk запроса, который вы отправляете, до java-api первого байта ответа, который java-api вы получаете? Или пока не java-se будет получен весь ответ? Или java-api вы пытаетесь измерить только core-java время на стороне сервера?

Если java-api вы пытаетесь измерить только http время обработки на стороне core-java сервера, вам будет сложно j2se учесть время, затрачиваемое j2se на передачу по сети для получения javax вашего запроса и возврата java-api ответа. В противном случае, поскольку java-libraries вы сами управляете запросом java-se через сокет, вы можете измерить oraclejdk прошедшее время между любыми java двумя моментами, проверив java-api системный таймер и вычислив core-java разницу. Например:

public void sendHttpRequest(byte[] requestData, Socket connection) {
    long startTime = System.nanoTime();
    writeYourRequestData(connection.getOutputStream(), requestData);
    byte[] responseData = readYourResponseData(connection.getInputStream());
    long elapsedTime = System.nanoTime() - startTime;
    System.out.println("Total elapsed http request/response time in nanoseconds: " + elapsedTime);
}

Этот код core-java будет измерять время с момента, когда java вы начинаете записывать свой .java запрос, до момента, когда j2se вы заканчиваете получение jdk ответа, и распечатывает результат oraclejdk (при условии, что у вас реализованы oraclejdk ваши конкретные методы чтения/записи).

java

http

2022-10-20T14:27:35+00:00