tcp時間服務:
server.c:
#include #include #include #include #include #include #include #include #include #include #define bzero(ptr , n) memset(ptr, 0, n)
#define maxline 4096
#define sa struct sockaddr
#define endless for( ; ; ) //just for fun...
intmain(int argc ,char** argv)
listenfd = socket(af_inet, sock_stream, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = af_inet;
servaddr.sin_addr.s_addr = htonl(inaddr_any);
servaddr.sin_port = htons(atoi(argv[1])); //choice the port you like...
bind(listenfd, (sa*)&servaddr, sizeof(servaddr));
listen(listenfd, 5);
endless
}
client.c:
#include #include #include #include #include #include #include #include #include #define bzero(ptr , n) memset(ptr, 0, n)
#define maxline 4096
#define sa struct sockaddr
int main(int argc,char ** argv)
if ( (sockfd = socket(af_inet, sock_stream, 0)) < 0 )
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = af_inet;
servaddr.sin_port = htons( atoi(argv[2]) );
if ( inet_pton(af_inet, argv[1], &servaddr.sin_addr) <= 0)
if( (connect(sockfd, (sa*)&servaddr, sizeof(servaddr))) < 0 )
while ( (n= read(sockfd,recvline,maxline)) > 0)
} if(n < 0)
exit(0);
}
執行結果:
另外乙個例項見另一篇文章:
《UNIX網路程式設計》卷一第四章學習筆記
includeint socket int family,int type,int protocol 返回值 出錯返回 1,否則返回非負描述符famliy引數指明協議族 取值含義 af inet ipv4協議 af inet6 ipv6協議 af local unix域協議 af route 路由套...
第四章 程式設計
選擇語言的原則 最少的工作量原則 最少技巧性原則 最少錯誤原則 最少維護原則 減少記憶原則 總原則 先求正確後求快 先求清晰後求快 求快不忘保持程式正確性 保持程式整潔以求快 不要因效率而犧牲清晰 好程式標準 易於測試和除錯 易於維護 易於修改 設計簡單 高效率結構化程式設計主要包括兩方面 在編寫程...
第四章筆記
一.引入樣式 1.行內樣式表 2.內部樣式表 在head標籤裡面,title標籤下面 優點方便在同頁面中修改樣式 缺點不利於在多頁面間共享復用 及維護,對內容與樣式的分離也不夠徹底 3.外部樣式表 嵌入式匯入式 嵌入式和匯入式的區別 1.標籤屬於xhtml,import是屬於css2.1 2.使用鏈...