我有两台电脑通过局域网相连。当用户更改其中一台机器的时间(通过我的应用程序)时,我希望第二台机器上的时间也被更新(或者第二台机器可以轮询第一台机器)。没有服务器,没有互联网。做这件事最好的方法是什么?
操作系统:嵌入式XP。
框架:.Net 3.5
发布于 2010-11-29 22:12:53
如果您不能使用NTP服务器,您必须自己编写它。
如果你不需要太多的精确度,你就完成了。如果您需要更高的精度,您将需要估计数据发送和到达之间的时间损失,这不是微不足道的。
发布于 2010-11-29 22:13:50
技术含量较低的解决方案可能是在需要更新的机器上执行命令NET TIME \\[OtherPC] /SET。
您可以将机器设置为在某个时间间隔调用此函数。
请注意,我只在普通的windows机器上尝试过,但我认为它也可以在嵌入式系统上运行。
编辑:环顾四周,XP Embedded似乎可能支持WMI,如果它支持WMI,并且它确实有Win32_OperatingSystem类和SetDateTime方法,那么您的应用程序就可以调用远程pc,这样您就可以避免轮询更改。
发布于 2010-11-29 22:24:55
是否可以将其中一台计算机指定为NTP服务器?并因此使用标准的NTP服务器系统,这样您就不必编写自己的服务器系统。
尽管我不熟悉XPe,但这个链接Got the time?似乎包含了所有必需的流行语
https://stackoverflow.com/questions/4304480
复制相似问题