je dirais cela dépend de l'intervalle exact que vous essayez de mesurer, de la durée écoulée depuis le dernier octet de la requête que vous envoyez jusqu'au premier octet de la réponse vous recevez? Ou jusqu'à ce que toute la réponse soit reçue? Ou essayez-vous de mesurer l'heure côté serveur uniquement?
Si vous essayez de mesurer le temps de traitement côté serveur seulement, vous allez avoir du mal à prendre en compte le temps passé en transit réseau pour que votre demande arrive et la réponse à renvoyer. Sinon, puisque vous gérez la demande vous-même via un socket, vous pouvez mesurer le temps écoulé entre deux moments en vérifiant l'horloge du système et en calculant la différence. Par exemple:
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);
}
Ce code mesurer le temps entre le moment où vous commencez à écrire votre demande lorsque vous avez fini de recevoir la réponse et imprimer le résultat (en supposant que vous avez vos méthodes de lecture/écriture spécifiques mises en œuvre).
À des fins de débogage ou pour votre programme? – owenmarshall