91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 19KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-16
  • 語言: 其他
  • 標簽: sntp??server??

資源簡介

這個sntp服務器代碼精簡,完成了sntp服務的網絡時間同步功能,適合在嵌入式系統。

資源截圖

代碼片段和文件信息

/********************************************************
*gcc?main.c??sntp_time.c?-o?ntpd.exe
*
*
*
********************************************************/


#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“sntp_time.h“
#include?“main.h“




int?main(int?argc?char?*argv[])
{
int?sock?=?-1;
unsigned?int?addrLen?=?0;
struct?sockaddr_in?toAddr;??//客戶端的網絡地址。
struct?sockaddr_in?serverAddr;??//服務器端的網絡地址。
struct?NtpBasicInfo??ntpServerPacket;??//服務器端接收到的客戶端數據包。
struct?NtpBasicInfo??ntpClientPacket;??//服務器端發送給客戶端的數據包。

int?iRcvLen?=?0;
char?acRcvBuf[128];
?
int?i?=?0;
int?iOpt?=?0;
int?iTZMinutesWest?=?-1;?//
char?cNoShowHelp?=?0x00;
struct?tm?*pTm;
unsigned?int?uiSec?=?0;
unsigned?int?uiData?=?0;

while((iOpt?=?getopt(argc?argv?“hs:“))?!=?-1)
{
switch(iOpt)
{
case?‘h‘:
break;
case?‘s‘:
????????????????iTZMinutesWest?=?atoi(optarg);
if(0?!=?(iTZMinutesWest?%?60))
{
printf(“number?of?minutes?is?invalid!\n\n“);
}
else
{
cNoShowHelp?=?0x01;
}
break;
default:
break;
}
}

if(0x01?!=?cNoShowHelp)
{
show_help();
return?0;
}

if(0x00?!=?set_timezone(iTZMinutesWest))
{
return?0;
}

? //socket創建。
sock?=?socket(AF_INETSOCK_DGRAMIPPROTO_UDP);
if(sock? {
?printf(“create?socket?failure.\r\n“);
?exit(0);
}

? //端口綁定。
memset(&serverAddr0sizeof(serverAddr));
serverAddr.sin_family=AF_INET;
serverAddr.sin_addr.s_addr=htonl(INADDR_ANY);
serverAddr.sin_port?=?htons(123);//sntp?端口號為123
if(bind(sock?(struct?sockaddr*)&serverAddr?sizeof(serverAddr))<0)
{
?printf(“bind()?failure.\r\n“);
?close(sock);
?exit(1);
}
?
while(1)
{
//接收sntp客戶端請求。
addrLen?=?sizeof(toAddr);
memset(acRcvBuf0sizeof(acRcvBuf));
if(0?>?(iRcvLen?=?recvfrom(sockacRcvBuf1280(struct?sockaddr*)&toAddr&addrLen)))
{
?printf(“recvfrom()?failure.\n“);
?close(sock);
?exit(1);
}

//獲取服務器端接收到數據時的時間。
get_current_ntp_time(&uiSec);
uiSec?=?htonl(uiSec);
memset(&ntpServerPacket?0?sizeof(struct?NtpBasicInfo));
ntpServerPacket.m_ReceiveTimestamp.m_dwInteger?=?uiSec;

//數據處理。
memset(&ntpClientPacket?0?sizeof(struct?NtpBasicInfo));
memcpy(&ntpClientPacket?acRcvBuf?sizeof(struct?NtpBasicInfo));
ntpServerPacket.m_LiVnMode?=?0x24;
ntpServerPacket.m_Stratum?=?0x02;
ntpServerPacket.m_Poll?=?0x03;
ntpServerPacket.m_Precision?=?0xec;
ntpServerPacket.m_RootDelay?=?0x5f020000;
ntpServerPacket.m_RootDispersion?=?0xd0090000;
uiData?=?0x00;//0x0eed4fc1;
memcpy(&(ntpServerPacket.m_ReferenceID)&uiData?sizeof(uiData));?

//設置本服務器參考的網絡sntp服務器時間,在此直接賦值為本機時間。
get_current_ntp_time(&uiSec);
uiSec?=?htonl(uiSec);
ntpServerPacket.m_ReferenceTime

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-08-11?15:16??sntp_server_20130624\
?????文件????????4096??2013-05-10?09:26??sntp_server_20130624\sntp_server.IAB
?????文件?????????368??2013-05-10?09:26??sntp_server_20130624\sntp_server.IAD
?????文件????????4096??2013-05-10?09:26??sntp_server_20130624\sntp_server.IMB
?????文件?????????368??2013-05-10?09:26??sntp_server_20130624\sntp_server.IMD
?????文件??????????16??2013-08-11?15:16??sntp_server_20130624\sntp_server.PFI
?????文件?????????776??2013-08-11?15:16??sntp_server_20130624\sntp_server.PO
?????文件????????1760??2013-05-16?20:48??sntp_server_20130624\sntp_server.PR
?????文件????????8608??2013-05-16?20:51??sntp_server_20130624\sntp_server.PRI
?????文件????????9284??2013-08-11?15:16??sntp_server_20130624\sntp_server.PS
?????文件??????????38??2013-06-24?14:06??sntp_server_20130624\sntp_server.SearchResults
?????文件???????25472??2013-08-11?15:16??sntp_server_20130624\sntp_server.WK3
?????目錄???????????0??2013-08-11?15:17??sntp_server_20130624\src\
?????文件????????5222??2013-06-27?14:50??sntp_server_20130624\src\main.c
?????文件??????????82??2013-06-24?13:09??sntp_server_20130624\src\main.h
?????文件???????12226??2013-06-24?13:59??sntp_server_20130624\src\ntpd.exe
?????文件???????????0??2013-06-24?14:00??sntp_server_20130624\src\ntpdlog.txt
?????文件????????4027??2013-06-24?14:05??sntp_server_20130624\src\sntp_time.c
?????文件????????2580??2013-06-24?14:05??sntp_server_20130624\src\sntp_time.h

評論

共有 條評論