乙個簡單的時間獲取程式

2021-07-05 01:29:48 字數 1335 閱讀 4783

客戶程式:

#include "unp.h"

#include "myerror.h"

int main(int argc,char **argv)

//建立乙個tcp套接字,返回sockfd作為套接字描述符

int sockfd;

if ((sockfd = socket(af_inet,sock_stream,0)) < 0)

/*指定伺服器的ip位址與埠

*/struct sockaddr_in servaddr;

bzero(&servaddr,sizeof(servaddr));

servaddr.sin_family = af_inet;

servaddr.sin_port = htons(9999);//解釋見伺服器程式

//inet_pton("呈現形式到數值"),把ascii命令列引數轉換為合適的格式

//argv[1]代表伺服器ip位址

if (inet_pton(af_inet,argv[1],&servaddr.sin_addr) < 0)

/*建立與伺服器的連線

connect函式應用於乙個tcp套接字時,將與由他的第二個引數只想的套接字位址結構

指定的伺服器建立乙個tcp連線。

在unp.h標頭檔案中,將sa定義為struct sockaddr。

*/if (connect(sockfd,(sa *)&servaddr,sizeof(servaddr)) < 0)

/*讀入並輸出伺服器的應答:

**使用tcp時必須小心,因為tcp是乙個沒有記錄邊界的位元組流協議

*/int n;

char recvline[maxline + 1];

//如果資料量很大,我們不能保證一次read就可一返回伺服器的所有應答。

//當read返回0(對端關閉連線)或者負值(發生錯誤)時,終止迴圈。

while ((n = read(sockfd,recvline,maxline)) > 0)

}if (n < 0)

/*exit終止程式執行,unix在乙個程序終止時總是關閉該程序所有開啟的

描述符,我們的tcp套接字就此關閉!

*/exit(0);

}

伺服器程式:

#include "unp.h"

#include int main(int argc,char **argv)

exit(0);

}

測試:

乙個簡單的時間獲取客戶程式

讓我們考慮乙個具體例子,引入將本書中遇到的許多概念和說法。實現乙個tcp當前時間查詢客戶程式的實現。該客戶程式與其伺服器建立乙個tcp連線後,伺服器直觀可讀格式簡單地送回當前時間和日期。獲取時間的伺服器端 include include include include include include...

乙個獲取時間的Python小程式

import ntplib from time import ctime c ntplib.ntpclient response c.request time.pool.aliyun.com print ctime response.tx time ntp是一種提高同步時間精度的網路協議,使用特定的...

乙個簡單的verlig程式 乙個簡單C程式的介紹

我們前面學了c語言的一些理論知識,今天通過乙個簡單的程式先來看一看c語言程式是什麼樣子。然後再對程式中的 進行介紹。這個語句的功能是進行有關的預處理操作。include稱為檔案包含命令,後面尖括號的內容稱為標頭檔案或首檔案。此處指包含stdio.h系統標頭檔案,在下面主函式中使用的printf 函式...