時間同步客戶端

2021-06-21 10:59:44 字數 1272 閱讀 2584

網路程式設計課上的第乙個小實驗。客戶端傳送命令「gettime」到伺服器,伺服器獲取本地時間併發送回客戶端。就是這麼簡單。。。

不多說了直接上**。

// 時間同步客戶端.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include #include #include #pragma comment(lib,"wsock32.lib")

#define maxsize 100

int getline(char* s,int max);

int _tmain(int argc, _tchar* argv)

if(lobyte(wsadata.wversion)!=2||hibyte(wsadata.wversion)!=2)

//建立客戶端套接字

socket sockclient;

sockclient = socket(af_inet,sock_stream,0);

if(sockclient==invalid_socket)

//伺服器位址資訊

struct sockaddr_in saserver;

saserver.sin_family = af_inet;

saserver.sin_port=htons(6000);

saserver.sin_addr.s_un.s_addr = inet_addr("127.0.0.1");

//連線伺服器

ret = connect(sockclient,(sockaddr*)&saserver,sizeof(saserver));

if(ret == socket_error)

else

printf("please input 'gettime' to get system time\n");

//向伺服器傳送請求

char buff[maxsize];

char t[maxsize];

memset(buff,0,maxsize);

while(strcmp(buff,"quit")!=0)

if(send(sockclient,buff, sizeof(buff), 0) <= 0)

if(recv(sockclient,t, sizeof(t), 0) <= 0)

printf("%s\n",t);

} return 0;

}int getline(char* s,int max)

非同步客戶端和同步客戶端

先寫下我的理解,方便後邊閱讀資料校驗。一 同步客戶端 比如乙個連線有兩個請求,請求1 和 請求2,請求1 先發起請求,請求2後發起請求,則請求2 要等待請求1 響應完成才能接收到響應。舉個棗子,httpclient 傳送get請求,執行緒會一致阻塞,直到有響應結果。二 非同步客戶端 比如乙個連線有兩...

NTP 服務端 客戶端 時間同步

network time protocol 網路時間伺服器 用來同步網路中各個計算機的時間的協議 210.72.145.39 國家授時中心伺服器ip位址 stratum 分層設計 stratum 層數總數限制在15 以內包括15 軟體包ntp和chrony 主配置檔案 etc chrony.conf...

iOS 客戶端與服務端做時間同步

我們做客戶端的時候,有時會需要對客戶端與伺服器的時間進行同步,比如搶購活動 倒計時等。這時我們要考慮如何準備地與伺服器的時間進行同步,同時防止使用者本地的時間有誤差時導致的問題。描述為了實現以上需求,我們需要 獲取伺服器某一時刻a的時間 記錄獲取到時刻a時的本地時間b 需要用到時間時,獲取當前本地時...