C C 在網路下的程式設計的應用(時間同步器)

2021-09-06 20:19:49 字數 1397 閱讀 7345

簡介: 採用udp方式傳送,客戶端直接發包即可,但是對於伺服器端,首先要先繫結socket,然後就可以接收到來自客戶端的資訊包了。

time()是返回的是1970-01-01 00:00:00 +0000 (utc).到現在的秒數差。

然後localtime()就是通過計算秒數差來求出現在的時間

伺服器端程式**:

#include//  標頭檔案的**隨時新增,通過linux man 命令來查詢你所呼叫函式的作用,然後新增包含這個函式的標頭檔案

#include#include#include#include#include#include#include#includeint fd;

void fa(int sing)

printf("\n");

close(fd);

printf("exit successfully\n");

exit(0);}

int main(void);

socklen_t len = sizeof(addr);

recvfrom(fd,buf,sizeof(buf),0,(struct sockaddr*)&addr,&len); // 接收資料

printf("you receive the message from %s\n",inet_ntoa(addr.sin_addr));

printf("the content is %s\n",buf);

if(!strcmp(buf,"time"))else

} return 0;

}

客戶端程式的**:   客戶端和伺服器端類似 只是不存在了繫結

#include #include #include #include #include #include #include #include #include #include int main(void);

sendto(fd,buf,sizeof(buf)+1,0,(struct sockaddr*)&addr,sizeof(addr));

read(fd,buf,sizeof(buf));

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

struct tm *t = (struct tm*)malloc(sizeof(struct tm)); //這裡需要動態開闢儲存空間,否則會一直報段錯誤

int judge = read(fd,t,sizeof(struct tm));

printf("%d/%d/%d %d:%d\n",

t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min);

} close(fd);

return 0;

}

nagle演算法在網路程式設計的作用

tcp ip協議中,無論傳送多少資料,總是要在資料前面加上協議頭,同時,對方接收到資料,也需要傳送ack表示確認。為了盡可能的利用網路頻寬,tcp總是希望盡可能的傳送足夠大的資料。乙個連線會設定mss引數,因此,tcp ip希望每次都能夠以mss尺寸的資料塊來傳送資料 nagle演算法就是為了盡可能...

重定向在網路程式設計中的理解

1.概念 重定向 redirect 就是通過各種方法將各種網路請求重新定個方向轉到其它位置 如 網頁重定向 網域名稱 的重定向 路由選擇的變化也是對資料報文經由路徑 的一種重定向 2.方式 重定向的方式有 301重定向 302重定向與meta fresh。上面講的就是meta fresh方式。302...

機器學習在網路異常檢測中的應用

網路異常檢測,即在網路資料中發現不符合預期的異常行為。基於機器學習的網路異常檢測,需要首先根據網路中的正常報文建立正常行為的模型,之後的資料報匹配正常行為模型,不符合的即為異常行為。基於機器學習的方式相比傳統基於簽名匹配的優點是 它不需要人工編寫規則,而且可以檢測 0 day 攻擊。本次分享的主要內...