Управление использованием Time Server Services на веб-сайтах - PullRequest
1 голос
/ 12 ноября 2011

Потребность в услугах сервера времени

Я пытаюсь создать веб-приложение в ASP.NET, и мне нужно получить время с сервера времени. Объяснять причины, по которым мне нужно это сделать, слишком долго, однако мне нужно, по сути, подключиться к серверу времени (надеюсь, через веб-службы) и получить текущее время этого сервера.

NTP - возможное решение (вопрос)

Я знаю о существовании протокола NTP и о том, что его можно использовать для этих целей. Однако как можно найти адреса серверов и использовать веб-сервисы, чтобы получить время?

Ожидается веб-сервис

Я действительно ожидаю, что по этим причинам будут использоваться веб-сервисы. Однако при поиске я не смог найти ни одного, в том числе и на официальном сайте NTP.

Как я могу получить информацию о времени с сервера в моем веб-приложении?

Thankyou

1 Ответ

2 голосов
/ 05 января 2012

Вы не говорите, как вы хотите выбрать, какое время сервера вы хотите получить.Я предполагаю, что причина, по которой вы хотите получить время с удаленного сервера, заключается в том, что ваш код выполняется на устройстве без локальных часов.

Вы, безусловно, можете сделать запрос NTP клиента на какой-нибудь NTPсервер, чтобы получить время.Возможно, вы хотели бы использовать pool.ntp.org в качестве NTP-сервера.

Но если вы предпочитаете использовать веб-сервис, это удачно, потому что вы можете получить текущее время практически с любого существующего веб-сервера:они посылают его в заголовок HTTP каждого отправляемого им ответа!Обратите внимание на заголовок Date в этом HTTP-ответе от http://stackoverflow.com/ прямо сейчас:

curl --head http://stackoverflow.com/
HTTP/1.1 200 OK
Cache-Control: public, max-age=3
Content-Length: 197603
Content-Type: text/html; charset=utf-8
Expires: Thu, 05 Jan 2012 17:59:47 GMT
Last-Modified: Thu, 05 Jan 2012 17:58:47 GMT
Vary: *
Date: Thu, 05 Jan 2012 17:59:42 GMT
 

Так что просто выберите веб-сервер, сделайте к нему HTTP-запрос (для любой страницы) и получитетекущее время из заголовка Date в ответе.Вы можете использовать метод HEAD вместо метода GET, как я делал в примере curl, потому что вам на самом деле не нужно тело ответа.

...