LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

.NET實(shí)現(xiàn)獲取NTP服務(wù)器時(shí)間并同步(附帶Windows系統(tǒng)啟用NTP服務(wù)功能)

freeflydom
2024年5月30日 15:13 本文熱度 956

對(duì)某個(gè)遠(yuǎn)程服務(wù)器啟用和設(shè)置NTP服務(wù)(Windows系統(tǒng))

打開(kāi)注冊(cè)表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

將 Enabled 的值設(shè)置為 1,這將啟用NTP服務(wù)器功能。

防火墻開(kāi)放UDP 123端口

打開(kāi)“服務(wù)”應(yīng)用(可以在開(kāi)始菜單搜索“服務(wù)”),找到“Windows Time”服務(wù)。右鍵點(diǎn)擊“Windows Time”服務(wù),選擇“重啟”。

執(zhí)行以下命令來(lái)配置服務(wù)器模式并重啟時(shí)間服務(wù):

w32tm /config /reliable:YES /update

net stop w32time

net start w32time

客戶端上面,輸入以下命令,替換你自己的NTP服務(wù)端IP即可,如果顯示類似以下的時(shí)間輸出,說(shuō)明是正常的。


 w32tm /stripchart /computer:ip地址 /samples:5 /dataonly

 編寫程序,進(jìn)行時(shí)間同步

引用包Wesky.Net.OpenTools ,版本選擇1.0.6或以上版本。

 

該包的自述文件內(nèi)容供參考:

https://www.nuget.org/packages/Wesky.Net.OpenTools/1.0.6#readme-body-tab

 在程序里面使用,以下測(cè)試內(nèi)容供參考。其中,ntpServer可以是ip地址也可以是ntp服務(wù)器的域名地址或者互聯(lián)網(wǎng)ntp服務(wù)器地址等。獲取時(shí)間默認(rèn)端口號(hào)沒(méi)指定的話是123,如果要指定,只需要在參數(shù)里面新增端口號(hào)參數(shù)即可。

static void Main(string[] args)

{

    string ntpServer = "ip";

    Console.WriteLine($"當(dāng)前時(shí)間:\r\n{ DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss ms")}");

    DateTime time = NtpClient.GetNtpServerTime(ntpServer);

    Console.WriteLine($"獲取到的時(shí)間為:\r\n {time.ToString("yyyy/MM/dd HH:mm:ss ms")}");

    NtpClient.SetSystemTime(time);

    Console.WriteLine($"更改后的系統(tǒng)時(shí)間:\r\n{ DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss ms")}");

    Console.ReadLine();

}

獲取ntp服務(wù)器時(shí)間核心代碼解析如下:

/// <summary>

/// 獲取NTP服務(wù)器的時(shí)間。

/// Retrieves the time from an NTP server.

/// </summary>

/// <param name="ntpServer">NTP服務(wù)器地址 | NTP server address</param>'

/// <param name="ntpPort">NTP服務(wù)的端口 | NTP service port</param>

/// <returns>服務(wù)器時(shí)間 | Server time</returns>

public static DateTime GetNtpServerTime(string ntpServer,int ntpPort=123)

{

    // 初始化NTP數(shù)據(jù)緩沖區(qū)

    // Initialize NTP data buffer

    byte[] ntpData = new byte[NtpDataLength];

    ntpData[0] = 0x1B; // NTP version number (3) and mode (3), client request


    var addresses = Dns.GetHostAddresses(ntpServer);

    IPEndPoint ipEndPoint = new IPEndPoint(addresses[0], ntpPort);


    using (var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp))

    {

        socket.Connect(ipEndPoint);

        socket.Send(ntpData);

        socket.Receive(ntpData);

    }


    // 從字節(jié)40和44提取時(shí)間戳

    // Extract timestamp from bytes 40 and 44

    ulong intPart = BitConverter.ToUInt32(ntpData, 40);

    ulong fractPart = BitConverter.ToUInt32(ntpData, 44);


    // 轉(zhuǎn)換字節(jié)序?yàn)樾《烁袷?/span>

    // Convert byte order to little endian

    intPart = SwapEndianness(intPart);

    fractPart = SwapEndianness(fractPart);


    var milliseconds = (intPart * 1000) + ((fractPart * 1000) / 0x100000000L);


    // NTP時(shí)間是從1900年開(kāi)始計(jì)算的,這里將其轉(zhuǎn)換為UTC時(shí)間

    // NTP time starts from 1900, this converts it to UTC DateTime

    DateTime networkDateTime = new DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddMilliseconds((long)milliseconds);


    return networkDateTime.ToLocalTime();

}




該文章在 2024/5/30 15:15:20 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日韩AV一本二本在线观看 | 亚洲欧美久久综合网站点击 | 午夜性色福利在线视频福利 | 亚洲理论欧美理论在线看 | 婷婷琪琪在线中文字幕 | 真实国产乱子伦视频 |