Windows作为NTP同步时间的服务器时,需要的设置(Linux时间同步)

“开始”--》“运行”--》输入“regedit”打开注册表。找到NetSerVer这一项,具体见插图,里面很详细。

Windows作为NTP同步时间的服务器时,需要的设置(Linux时间同步)_第1张图片Windows作为NTP同步时间的服务器时,需要的设置(Linux时间同步)_第2张图片

将NetSerVer下Enabled的值设置为 1。

修改以下键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config里的“AnnounceFlags”设置为“5”,表示强制主机将它自身宣布为可靠的时间源,从而使用CMOS时钟。如果设置为“a”,则表示为采用外面的时间服务器。

Windows作为NTP同步时间的服务器时,需要的设置(Linux时间同步)_第3张图片

重启Win32Time服务执行如下命令: net stop w32time && net start w32time


服务器端设置:

默认情况下,服务器Windows2003 Server是作为时间同步客户端的。你可以双击系统时间,在“Internet时间属性页里有时间同步的设置,显然系统默认是作为客户端的。所以,必须通过修改设置,使系统作为时间同步的服务端。 
1
 修改注册表以下项的键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer内的“Enabled”设置为“1”,打开时间同步服务功能。 
2
 修改以下键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config里的“AnnounceFlags”设置为“5”,表示强制主机将它自身宣布为可靠的时间源,从而使用CMOS时钟。如果设置为“a”,则表示为采用外面的时间服务器。 
3
 重启Win32Time服务执行如下命令: net stop w32time && net start w32time

客户端设置: 
1,客户端的设定更改注册表即可。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient里的“SpecialPollInterval”时间间隔(单位为秒,4320012小时); “SpecialPollTimeRemaining”时间同步的服务器,格式为:“IP address,0”,例如:192.168.1.1,0 
2
,重启win32time服务 net stop w32time  &&  net start w32time 这样,设置完成了,无需重启电脑。如果想立刻时间的变化,可以把时间设置成12秒。



Linux时间同步示例:

void NTPTimeCmd()
{
    printf("Time synchronization:\n");


    char cmd[1024] = {0};
    sprintf(cmd, "ntpdate %s", g_conf.ntpTime);
    system(cmd);
}


 

你可能感兴趣的:(C++)