1.套接字位址結構
套接字程式設計需要指定套接字的位址作為引數,不同的協議族有不同的位址結構定義方式。這些位址結構通常以sockaddr_開頭,每乙個協議族有乙個唯一的字尾,例如對於乙太網,其結構名稱為sockaddr_in。
1.1 通用套接字位址結構
/*套接字位址結構*/
struct sockaddr
上述型別sa_family_t其實是unsigned short型別。
1.2 實際使用的套接字位址結構
在網路程式設計中所使用的函式中幾乎所有的套接字函式都用這個結構作為引數。乙太網中,一般採用結構struct sockaddr_in進行設定,該結構定義如下:
/*乙太網套接字位址結構*/
struct sockaddr_in
2.使用者層和核心層互動過程
套接字引數中有部分引數是需要使用者傳入的,這些引數用來與linux核心進行通訊,例如指向位址結構的指標。通常是採用記憶體複製的方法進行。向核心傳入資料的函式有send(),bind()等,從核心得到資料的函式有accept(),recv()等。
網路程式設計 1
1.前言 公司要為別的公司提供伺服器防護,採用本地環迴,節點 的方法實現對伺服器真實ip進行隱藏。但是有乙個問題 我節點端要建立乙個埠接收對映資料和保活資料,採用固定埠的話,攻擊者很容易通過掃瞄埠來獲取我較多的節點,進行攻擊 2.解決 這裡採用的是通過節點ip來生成乙個隨機埠,客戶端和節點通過這個隨...
網路程式設計1
tcp ip四層模型 應用層 telent,ftp和e mail等 傳輸層 tcp udp 網路層 ip,icmp和igmp 鏈路層 裝置驅動程式及介面卡 如果兩台計算機在不同的網段中,那麼資料從一台計算機到另一台計算機傳輸過程中要經過乙個或多個路由器 鏈路層之下還有物理層,指的是電訊號的傳遞方式,...
網路程式設計序列1 理解網路程式設計
常用的tcp ip協議的三種套接字型別 流套接字 tcp協議 資料報套接字 udp協議 原始套接字 ip icmo協議 區別在於 原始套接字可以讀寫核心沒有處理的ip資料報,而流套接字只能讀取tcp協議的資料,資料報套接字只能讀取udp協議的資料。tcp transmission control p...