資源描述:
《C標準庫函數練習(網絡)》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、移動互聯網C語言標準庫練習培訓系列C語言標準庫練習移動互聯網第一開發(fā)部2009-05-2515移動互聯網C語言標準庫練習培訓系列第1章前言1.使用C語言函數庫的方法:l需要關注:函數的功能,入口參數(類型,個數),函數的返回值(正確返回值,錯誤返回值),有時還需要關注錯誤碼值的含義;l需要了解:函數聲明所在的頭文件,功能類似的相關函數;l必須寫測試函數進行熟悉其用法,以及對返回值的判斷;l最重要的是驗證此函數滿足你的需求;2.本文檔主要介紹進程間通訊(IPC)的基礎知識,需要各位在平時搜集資料并多編程了解:l何謂進程或者線程,如何才能實現多進程;l
2、進程間通訊常用的“介質”或者常用的方式有哪些;l進程間是如何利用“介質”進行通訊的;l進程間通訊“介質”(通訊方式)常用的屬性或者特質有哪些;l什么是守護進程或者精靈進程,它們是如何實現的;l……(有待補充)3.本題庫主要是以socket相關題目為主,其它各章節(jié)為輔,并輔以snoop抓包練習的路線,主要在socket相關題目中逐漸運用其它技術(如:多進程,信號等知識),并熟練運用;snoop抓包需要了解其使用方法,并能夠熟練分析所抓包的各個字段含義等;4.……(有待補充)第2章Socket相關推薦書籍或資料:(資料的具體路徑在:\10.10.12
3、.126新員工培訓電子書)基礎資料:《LinuxC編程一站式學習》《Linux操作系統(tǒng)下C語言編程入門》15移動互聯網C語言標準庫練習培訓系列……(有待補充)參考書籍:《LinuxC函數庫詳解詞典》《UNIX網絡編程(1,2卷)》《UNIX環(huán)境高級編程》《SunSolaris多線程編程指南》……(有待補充)1.1基礎篇1.1.1服務端程序例子/**gcc-osamp_serversamp_server.c-lsocket-lnsl*/#include#include#incl
4、ude#include#include#include#include#include#defineMYPROT3490/*服務器監(jiān)聽端口號*/#defineBACKLOG10/*最大同時連接請求數*/intmain(){intsockfd,new_fd;/*監(jiān)聽socket:sockfd,數據傳輸socket:new_fd*/structsockaddr_inserv_addr;/*本機地址信息*/str
5、uctsockaddr_inclnt_addr;/*客戶地址信息*/intsin_size=0;intpid=0;15移動互聯網C語言標準庫練習培訓系列intstat=0;staticunsignedintcount;char*sd_str="Hello,MIDisabestdepartmentofNeusoft!";/*建立網際字節(jié)流套接字*/sockfd=socket(AF_INET,SOCK_STREAM,0);if(-1==sockfd){/*錯誤檢測*/perror("socket");exit(1);}/*設置socket相關信息*
6、/serv_addr.sin_family=AF_INET;/*置地址族為AF_INET*/serv_addr.sin_port=htons(MYPROT);/*如果等于0則隨機選擇一個端口*/serv_addr.sin_addr.s_addr=INADDR_ANY;/*系統(tǒng)填入本機IP地址*/bzero(&serv_addr,sizeof(structsockaddr_in));/*初始化serv_addr.sin_zero為0*//*綁定端口*/stat=bind(sockfd,(structsockaddr*)&serv_addr,sizeo
7、f(structsockaddr));if(-1==stat){/*錯誤檢測*/perror("bind");exit(1);}/*監(jiān)聽端口*/stat=listen(sockfd,BACKLOG);if(-1==stat){/*錯誤檢測*/perror("listen");exit(1);}/*mainaccept()loop*/while(1){printf("server[%u]:Waitting[%u].......",getpid(),++count);sin_size=sizeof(structsockaddr_in);/*
8、接受連接請求,并且建立一個新的Socket描述符*/new_fd=accept(sockfd,(structsockadd