【发布时间】:2011-05-17 07:27:36
【问题描述】:
我有两台 PC 通过 LAN 连接。当用户更改一个时间(通过我的应用程序)时,我希望第二个时间也可以更新(或者第二台机器可以轮询第一台机器)。没有服务器,没有互联网。最好的方法是什么?
操作系统:XP 嵌入式。
框架:.Net 3.5
【问题讨论】:
标签: .net communication ethernet
我有两台 PC 通过 LAN 连接。当用户更改一个时间(通过我的应用程序)时,我希望第二个时间也可以更新(或者第二台机器可以轮询第一台机器)。没有服务器,没有互联网。最好的方法是什么?
操作系统:XP 嵌入式。
框架:.Net 3.5
【问题讨论】:
标签: .net communication ethernet
如果你不能使用NTP服务器,你必须自己写。
如果您不需要太多的精度,那么您就完成了。如果您需要更高的精度,则需要估计数据发送和到达之间的时间损失,这并非易事。
【讨论】:
一个低技术的解决方案可能是在需要更新的机器上执行命令NET TIME \\[OtherPC] /SET。
您可以将机器设置为在某个时间间隔调用它。
请注意,我只在普通 Windows 机器上尝试过,但我认为它也适用于嵌入式。
编辑:环顾四周,似乎 XP Embedded 可能支持 WMI,如果支持并且它确实具有 Win32_OperatingSystem 类并且它是 SetDateTime 方法,那么您的应用程序可以调用远程 pc,并且您可以避免轮询更改。
【讨论】:
是否可以将其中一台机器指定为 NTP 服务器?因此使用标准的 NTP 服务器系统,因此您不必自己编写。
虽然我不熟悉 XPe,但此链接 Got the time? 似乎包含所有必需的流行语
【讨论】: