win32 連線授時伺服器

2021-07-15 22:26:50 字數 1614 閱讀 6759

時間伺服器的埠位址是:#define ipport_timeserver 37

ping www.time.ac.cn 得到的ip位址就是時間伺服器的ip 210.72.145.44

位址我也不知道是多少了,哎 沒乙個準確的能連上的

每個時間伺服器返回的資料是不同的,而國家時間伺服器返回的是格林尼治至2023年1月1日的秒數。

而中國的時區是東8區,時間上要+8小時。

windows中時間用systemtime結構體表示時間,怎麼講ultime轉換為systemtime?

#define hightime    21968699 //jan 1,1900 filetime.hightime

#define lowtime 4259332096 //jan 1,1900filetime.lowtime

//接收時間伺服器返回訊息

unsigned

long ultime = 0;

recv(sock, (char *)&ultime, sizeof(unsigned

long), 0);

ultime=ntohl(ultime);//判斷cpu接收的位元組順序

systemtime st;

uint64 uicurtime,uibasetime,uiresult;

uibasetime = ((uint64) hightime << 32) + lowtime;

uicurtime = (uint64)ultime * (uint64)10000000;

uiresult = uibasetime + uicurtime;

filetimetosystemtime((lpfiletime)&uiresult, &st);

tchar bufftime[256];

zeromemory(bufftime, sizeof(bufftime)/sizeof(tchar));

wsprintf(bufftime, text("%i年%i月%i日 %i:%i:%i"), st

.wyear,st

.wmonth, st

.wday,

st.whour+8, st

.wminute, st

.wsecond);

設定系統時間函式:setsystemtime(&st);

可供選擇的授時伺服器(不止這些):

www.time.ac.cn 國家授時中心

clock.sgi.com sgi

tick.mot.edu 麻省理工學院

time.nist.gov nist

從網路位元組順序轉換為主機位元組順序。

什麼是網路位元組序,什麼是主機位元組序?

不同的cpu處理整數的方式不一樣,有的低位在前,有的高位在前。

網路位元組順序是統一的標準:big endian排序方式。

如果直接接收的話可能會造成接受者接收的資料正好是相反的。

有個函式可以判斷cpu是低位還是高位在前。ultime=ntohl(ultime);

23 3 3 連線控制與冗餘伺服器

server setup 主選單中選擇 connection control 子選單,將出現圖 23 12 所示的連線控制設定介面。maximum client connections 選項表示設定最大允許的客戶端連線數,0表示沒有限制。客戶端連線數還要受到許可檔案的限制,從圖 23 12 中的ma...

X11連線linux伺服器

1 linux伺服器開啟x11 服務 vi etc ssh sshd config x11forwarding yes x11displayoffset 10 x11uselocalhost yes service sshd restart 2 安裝securecrt 3 配置 securecrt,...

常用FTP命令 1 連線ftp伺服器

1.連線ftp伺服器 格式 ftp hostname ip address a 在linux命令列下輸入 ftp 192.168.1.1 b 伺服器詢問你使用者名稱和密碼,分別輸入使用者名稱和相應密碼,待認證通過即可。ftp get usr your 1.htm 1.htm 回車 b mget 格式...