netinet/if_ether.h ether_arp的資料結構
netinet/ether.h 以太禎的網路位元組和ascii位元組的轉換,包括ether_ntoa(),ether_aton這樣的函式定義
netinet/ip.h 這個標頭檔案和linux/ip.h似乎很相似,也有iphdr的資料結構,同時還包括了timestamp結構,我的理解是,linux資料夾下的 ip.h是linux黑客編寫的ip標頭檔案,而這個則是gnu一開始就定義的標頭檔案,同時還包括了bsd中的ipheader結構定義。同理的還有該目錄 下的tcp.h等檔案
linux/ip.h iphdr的資料結構,以及一些ip層的資料定義,同理的還有tcp.h,udp.h等等
linux/if.h 主要的socket標頭檔案,似乎修改自unix的if.h,定義了網絡卡的介面資訊的巨集,例如iff_up.另外有數個重要的inte***ce的資料結構定義,包括ifreq,ifconf,ifmap
linux/if_packet.h 原始資料報的資料結構定義,包括sockaddr_pkt,sockaddr_ll,想接收原始資料報的不能錯過這個檔案。同理的還有if_ppp.h,if_tun.h等等
netinet/in.h 這個檔案作的事情就多了。埠巨集定義,著名ip(比如loopback),結構sockaddr_in,網路位元組轉換(ntoh,hton。。。。)。。。反正太多了,沒事的話就把這個檔案加到頭檔案包含裡吧
netdb.h 檔案如其名,包括結構hostent(主機環境),獲得主機的資訊的幾個函式(gethostbyname)。似乎這個就是定義主機的各項環境,例如hostname等等
net/bpf.h berkeley的資料報過濾標頭檔案,想用bpf進行包過濾的要重視一下這個檔案
net/ethernet.h 包括幾個乙太網的資料結構,ether_addr(mac幀結構),ether_header(以太幀的頭部)
-------------------------------
//primitive system data types(包含很多態別重定義,如pid_t、int8_t等)
//與套接字相關的函式宣告和結構體定義,如socket()、bind()、connect()及struct sockaddr的定義等
//i/o控制操作相關的函式宣告,如ioctl()
//某些結構體定義和巨集定義,如exit_failure、exit_success等
//某些結構體定義、巨集定義和函式宣告,如struct hostent、struct servent、gethostbyname()、gethostbyaddr()、herror()等
//某些函式宣告,如inet_ntop()、inet_ntoa()等
//某些結構體宣告、巨集定義,如struct sockaddr_in、proto_icmp、inaddr_any等
------------------------------
linux下socket編寫常用標頭檔案
#include //connect,send,recv,setsockopt等
#include
#include // sockaddr_in, "man 7 ip" ,htons
#include //poll,pollfd
#include //inet_addr,inet_aton
#include //read,write
#include //gethostbyname
#include //perror
#include
#include //errno
#include // memset
#include
#include
Linux下網路程式設計實驗
1 tcp程式設計 伺服器端tcp server.c include include include include include include include include define portnumber 3333 int main int argc,char argv 伺服器端填充 s...
Linux下網路程式設計(一)
一,計算機與網路的發展 計算機與網路發展的7個階段 1.批處理 20世紀50年代 是指實現將使用者個資料裝入卡帶或者磁帶。並有計算機按照一定的順序讀取,是使用者索要執行的這些程式和資料能夠一併批量得到處理的方式。2.分時系統 20世紀60年代 是指多個終端 包含滑鼠 鍵盤 顯示器等輸入輸出裝置組成,...
linux環境下網路程式設計
參考 socket是網路程序的pid,由執行程序的計算機的ip位址和程序使用的埠組成。非同步狀態下connect不阻塞,直接返回 1,connect返回 1是對的 然後通過select進行判斷是否連線上 同步狀態下connect阻塞,系統莫認時間75秒後,返回成功或失敗 tcp程式設計的流程 伺服器...