首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过TCP/IP在两台PC之间同步时间,无需服务器

通过TCP/IP在两台PC之间同步时间,无需服务器
EN

Stack Overflow用户
提问于 2010-11-29 22:04:46
回答 3查看 586关注 0票数 2

我有两台电脑通过局域网相连。当用户更改其中一台机器的时间(通过我的应用程序)时,我希望第二台机器上的时间也被更新(或者第二台机器可以轮询第一台机器)。没有服务器,没有互联网。做这件事最好的方法是什么?

操作系统:嵌入式XP。

框架:.Net 3.5

EN

回答 3

Stack Overflow用户

发布于 2010-11-29 22:12:53

如果您不能使用NTP服务器,您必须自己编写它。

  1. 这两个应用程序都实现了WCF服务,并且是另一个应用程序的客户端;
  2. 修改了本地时间的应用程序通知另一个应用程序并发送DateTime;
  3. 接收更新的DateTime的应用程序更改本地时间(但请注意,您的应用程序需要更高的权限才能执行此操作,因为您必须通过非托管代码执行此操作);

如果你不需要太多的精确度,你就完成了。如果您需要更高的精度,您将需要估计数据发送和到达之间的时间损失,这不是微不足道的。

票数 1
EN

Stack Overflow用户

发布于 2010-11-29 22:13:50

技术含量较低的解决方案可能是在需要更新的机器上执行命令NET TIME \\[OtherPC] /SET

您可以将机器设置为在某个时间间隔调用此函数。

请注意,我只在普通的windows机器上尝试过,但我认为它也可以在嵌入式系统上运行。

编辑:环顾四周,XP Embedded似乎可能支持WMI,如果它支持WMI,并且它确实有Win32_OperatingSystem类和SetDateTime方法,那么您的应用程序就可以调用远程pc,这样您就可以避免轮询更改。

票数 1
EN

Stack Overflow用户

发布于 2010-11-29 22:24:55

是否可以将其中一台计算机指定为NTP服务器?并因此使用标准的NTP服务器系统,这样您就不必编写自己的服务器系统。

尽管我不熟悉XPe,但这个链接Got the time?似乎包含了所有必需的流行语

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4304480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档