色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Linux網(wǎng)絡(luò)編程之:實(shí)驗(yàn)內(nèi)容——NTP協(xié)議實(shí)現(xiàn)

          嵌入式Linux網(wǎng)絡(luò)編程之:實(shí)驗(yàn)內(nèi)容——NTP協(xié)議實(shí)現(xiàn)

          作者: 時(shí)間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://cafeforensic.com/article/257114.htm

          /*修改本地時(shí)間*/

          intset_local_time(structntp_packet*pnew_time_packet)

          {

          structtimevaltv;

          tv.tv_sec=pnew_time_packet->transmit_timestamp.coarse-JAN_1970;

          tv.tv_usec=USEC(pnew_time_packet->transmit_timestamp.fine);

          returnsettimeofday(tv,NULL);

          }

          intmain()

          {

          intsockfd,rc;

          structaddrinfohints,*res=NULL;

          structntp_packetnew_time_packet;

          memset(hints,0,sizeof(hints));

          hints.ai_family=AF_UNSPEC;

          hints.ai_socktype=SOCK_DGRAM;

          hints.ai_protocol=IPPROTO_UDP;

          /*調(diào)用getaddrinfo()函數(shù),獲取地址信息*/

          rc=getaddrinfo(NTP_SERVER_IP,NTP_PORT_STR,hints,res);

          if(rc!=0)

          {

          perror(getaddrinfo);

          return1;

          }

          /*創(chuàng)建套接字*/

          sockfd=socket(res->ai_family,res->ai_socktype,res->ai_protocol);

          if(sockfd0)

          {

          perror(socket);

          return1;

          }

          /*調(diào)用取得NTP時(shí)間的函數(shù)*/

          if(get_ntp_time(sockfd,res,new_time_packet))

          {

          /*調(diào)整本地時(shí)間*/

          if(!set_local_time(new_time_packet))

          {

          printf(NTPclientsuccess!n);

          }

          }

          close(sockfd);

          return0;

          }

          為了更好地觀察程序的效果,先用date命令修改一下系統(tǒng)時(shí)間,再運(yùn)行實(shí)例程序。運(yùn)行完了之后再查看系統(tǒng)時(shí)間,可以發(fā)現(xiàn)已經(jīng)恢復(fù)準(zhǔn)確的系統(tǒng)時(shí)間了。具體運(yùn)行結(jié)果如下所示。

          $date-s2001-01-011:00:00

          2001年01月01日星期一01:00:00EST

          $date

          2001年01月01日星期一01:00:00EST

          $./ntp

          NTPclientsuccess!

          $date

          能夠顯示當(dāng)前準(zhǔn)確的日期和時(shí)間了!

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉