• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 224  文章 - 41  trackbacks - 0
            <2010年6月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            享受編程

            常用鏈接

            留言簿(11)

            隨筆分類(159)

            隨筆檔案(224)

            文章分類(2)

            文章檔案(4)

            經(jīng)典c++博客

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

             1BOOL UpdateSysTime()
             2{
             3    WORD    wVersionRequested;
             4    WSADATA wsaData;
             5    
             6    // 初始化版本
             7    wVersionRequested = MAKEWORD( 11 );
             8    if (0!=WSAStartup(wVersionRequested, &wsaData)) 
             9    {
            10        WSACleanup();
            11        return FALSE;
            12    }

            13    if (LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1
            14    {
            15        WSACleanup( );
            16        return FALSE; 
            17    }

            18    
            19    // 這個(gè)IP是中國(guó)大陸時(shí)間同步服務(wù)器地址,可自行修改
            20    SOCKET soc=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
            21    struct sockaddr_in addrSrv;
            22    addrSrv.sin_addr.S_un.S_addr=inet_addr("210.72.145.44");
            23    addrSrv.sin_family=AF_INET;
            24    addrSrv.sin_port=htons(123);
            25    
            26    NTP_Packet NTP_Send,NTP_Recv; 
            27    NTP_Send.Control_Word   =   htonl(0x0B000000);   
            28    NTP_Send.root_delay        =   0;   
            29    NTP_Send.root_dispersion   =   0;   
            30    NTP_Send.reference_identifier    =   0;   
            31    NTP_Send.reference_timestamp    =   0;   
            32    NTP_Send.originate_timestamp    =   0;   
            33    NTP_Send.receive_timestamp        =   0;   
            34    NTP_Send.transmit_timestamp_seconds        =   0;   
            35    NTP_Send.transmit_timestamp_fractions   =   0
            36    
            37    if(SOCKET_ERROR==sendto(soc,(const char*)&NTP_Send,sizeof(NTP_Send),
            38        0,(struct sockaddr*)&addrSrv,sizeof(addrSrv)))
            39    {
            40        closesocket(soc);
            41        return FALSE;
            42    }

            43    int sockaddr_Size =sizeof(addrSrv);
            44    if(SOCKET_ERROR==recvfrom(soc,(char*)&NTP_Recv,sizeof(NTP_Recv),
            45        0,(struct sockaddr*)&addrSrv,&sockaddr_Size))
            46    {
            47        closesocket(soc);
            48        return FALSE;
            49    }

            50    closesocket(soc);
            51    WSACleanup();
            52    
            53    SYSTEMTIME    newtime;
            54    float        Splitseconds;
            55    struct        tm    *lpLocalTime;
            56    time_t        ntp_time;
            57    
            58    // 獲取時(shí)間服務(wù)器的時(shí)間
            59    ntp_time    = ntohl(NTP_Recv.transmit_timestamp_seconds)-2208988800;
            60    lpLocalTime = localtime(&ntp_time);
            61    if(lpLocalTime == NULL)
            62    {
            63        return FALSE;
            64    }

            65    
            66    // 獲取新的時(shí)間
            67    newtime.wYear      =lpLocalTime->tm_year+1900;
            68    newtime.wMonth     =lpLocalTime->tm_mon+1;
            69    newtime.wDayOfWeek =lpLocalTime->tm_wday;
            70    newtime.wDay       =lpLocalTime->tm_mday;
            71    newtime.wHour      =lpLocalTime->tm_hour;
            72    newtime.wMinute    =lpLocalTime->tm_min;
            73    newtime.wSecond    =lpLocalTime->tm_sec;
            74    
            75    // 設(shè)置時(shí)間精度
            76    Splitseconds=(float)ntohl(NTP_Recv.transmit_timestamp_fractions);
            77    Splitseconds=(float)0.000000000200 * Splitseconds;
            78    Splitseconds=(float)1000.0 * Splitseconds;
            79    newtime.wMilliseconds   =   (unsigned   short)Splitseconds;
            80    
            81    // 修改本機(jī)系統(tǒng)時(shí)間
            82    SetLocalTime(&newtime);
            83    return TRUE;
            84}
            posted on 2010-06-16 18:09 漂漂 閱讀(4158) 評(píng)論(6)  編輯 收藏 引用 所屬分類: 深入vc++

            FeedBack:
            # re: vc/C++中使用網(wǎng)絡(luò)校正系統(tǒng)時(shí)間 2010-09-02 21:56 三位數(shù)
            請(qǐng)問(wèn)結(jié)構(gòu)體NTP_Packet的定義在哪里?
              回復(fù)  更多評(píng)論
              
            # re: vc/C++中使用網(wǎng)絡(luò)校正系統(tǒng)時(shí)間 2010-09-05 11:13 漂漂
            @三位數(shù)
            struct NTP_Packet
            {
            int Control_Word;
            int root_delay;
            int root_dispersion;
            int reference_identifier;
            __int64 reference_timestamp;
            __int64 originate_timestamp;
            __int64 receive_timestamp;
            int transmit_timestamp_seconds;
            int transmit_timestamp_fractions;
            };

              回復(fù)  更多評(píng)論
              
            # re: vc/C++中使用網(wǎng)絡(luò)校正系統(tǒng)時(shí)間 2010-12-13 16:49 Alemon
            請(qǐng)問(wèn)服務(wù)端的代碼怎么寫呢?謝謝 @漂漂
              回復(fù)  更多評(píng)論
              
            # re: vc/C++中使用網(wǎng)絡(luò)校正系統(tǒng)時(shí)間 2010-12-14 21:34 漂漂
            這個(gè)我還真不知道,這個(gè)服務(wù)器是國(guó)際校準(zhǔn)中心的一個(gè)東西,@Alemon
            @三位數(shù)
              回復(fù)  更多評(píng)論
              
            # Ppl like you get all the bnrias. I just get to say thanks for he answer. 2011-05-26 12:56 Krystalyn
            Ppl like you get all the bnrias. I just get to say thanks for he answer.  回復(fù)  更多評(píng)論
              
            久久天天躁夜夜躁狠狠躁2022| 久久亚洲精品无码AV红樱桃| 久久久久一区二区三区| 久久亚洲国产中v天仙www| 久久精品夜色噜噜亚洲A∨| 亚洲另类欧美综合久久图片区| 思思久久精品在热线热| 久久99精品国产一区二区三区| 国产亚洲精久久久久久无码AV| 久久久久av无码免费网| 94久久国产乱子伦精品免费| 中文字幕热久久久久久久| 99久久综合国产精品二区| 久久久久久久免费视频| 久久99精品国产麻豆宅宅| 97精品伊人久久大香线蕉| 久久综合久久综合久久综合| 亚洲成色www久久网站夜月| 色综合合久久天天综合绕视看| 久久综合亚洲鲁鲁五月天| 国产精品久久久久一区二区三区 | 精品久久久久久成人AV| 久久久久久国产a免费观看不卡 | 成人久久免费网站| 国产精品激情综合久久| 亚洲精品国产成人99久久| 久久精品人人做人人爽97| 7777精品久久久大香线蕉| 一级A毛片免费观看久久精品| 久久久青草青青国产亚洲免观| 欧美亚洲国产精品久久蜜芽| 久久66热人妻偷产精品9| 久久亚洲AV成人无码国产| 午夜人妻久久久久久久久| 97精品伊人久久大香线蕉| 亚洲午夜久久久久久久久电影网 | 国产Av激情久久无码天堂 | 日本精品久久久久中文字幕8| 久久精品国产第一区二区三区 | avtt天堂网久久精品| 国产亚洲精品美女久久久|