Я хотел бы создать веб-приложение, способное «пинговать» клиента после того, как клиент получит доступ к определенному URL-адресу (например, www.example.com/ping/hello), чтобы получить время прохождения туда и обратно между сервером и клиент. И под запросом ping я подразумеваю простой запрос с отметкой времени от сервера, и клиент отправляет обратно ответ со своей отметкой времени. Я надеялся, что это действие будет выполнено с одним URL, если это возможно.
Поток примерно такой:
- Клиент переходит на URL
- Сервер отправляет ответ клиенту со своей отметкой времени
- Клиент затем отправляет другой ответ на сервер с новой отметкой времени
- Сервер окончательно завершает соединение с 200 OK
До сих пор я был в состоянии выполнить только первый и второй шаги, но не уверен, как заставить клиента снова перейти по тому же URL-адресу без возврата к первому шагу.
Мой серверный код выглядит примерно так:
@GET
@Path("/helloping")
public Response getPingServerClient(@Context HttpServletRequest req) {
String result = Long.toString(System.currentTimeMillis());
return Response.status(200).entity(result).build();
//the code to receive the response from client containing timestamp
}
Есть ли способ сделать это?