管理网站中的时间服务器服务使用情况

时间:2011-11-12 14:44:08

标签: asp.net datetime internationalization timezone

需要时间服务器服务

我正在尝试在ASP.NET中构建Web应用程序,我需要从时间服务器检索时间。解释我需要这样做的原因太长了,但是,基本上,我需要连接到时间服务器(希望通过Web服务)并检索该服务器当前时间。

NTP是一种可能的解决方案(问题)

我知道NTP协议的存在,并且它可以用于这些目的。但是,如何找到服务器地址并使用Web服务才能获得时间呢?

期待网络服务

实际上,我希望通过这些原因来使用Web服务。然而,通过搜索,我找不到任何,也在NTP官方网站。

如何从我的网络应用程序中的服务器获取时间信息?

三江源

1 个答案:

答案 0 :(得分:2)

您没有说明如何选择要获得的服务器时间。我想你想首先从远程服务器获取时间的原因是你的代码在没有本地时钟的设备上运行。

您当然可以向某个NTP服务器发出客户端NTP请求以获取时间。也许你想使用pool.ntp.org作为NTP服务器。

但是如果您更喜欢使用Web服务,那很幸运,因为您实际上可以从现有的任何Web服务器获取当前时间:它们碰巧在它们发送的每个响应的HTTP头中发出它!请立即注意来自http://stackoverflow.com/的此HTTP响应中的Date标头:

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
 

因此,只需选择一个Web服务器,向其发出HTTP请求(针对任何页面),并从响应中的Date标头获取当前时间。您可以使用HEAD方法而不是GET方法,因为您实际上并不需要响应正文。