Linux下網路程式設計學習雜記

2022-01-15 12:41:23 字數 625 閱讀 3456

1.tcp/ip協議的體系結構包含四層:應用層(負責應用程式的網路服務,通過埠號識別各個不同的程序)-》傳輸層(傳輸控制層協議tcp、使用者資料報協議udp、網際網路控制訊息協議icmp)-》網路層-》網路介面層(負責將二進位制流轉換成資料幀,並進行資料幀的傳送和接收)-》硬體層。

2.伺服器是指能在網路上提供服務的任何程式;客戶機是指使用者為了得到某種服務所需執行的應用程式。

3.網路通訊即為程序間的通訊,套介面就是網路程序的id。使用埠號和網路位址的組合能夠唯一確定整個網路中的乙個網路程序。

4.函式wait和函式waitpid都是用來獲得終止子程式的資訊。wait返回第乙個終止的子程式,如果沒有終止的子程式,它將阻塞;waitpid功能豐富,引數pid可以指定具體的子程式,引數options設定為wnohang,即使pid制定的子程序的終止狀態不能立即得到,也不會造成殭屍程序。

5.當父程序沒有捕獲到子程序的訊號,導致其他的子程序發生阻塞現象,子程序就成為了殭屍程序。

6.i/o模式:阻塞i/o模式(套接字預設);非阻塞i/o模式(輪詢);i/o復用模式;訊號驅動i/o模式(訊號sigio);非同步i/o模式(效率最高)。

7.epoll的優點:(1)支援乙個程序開啟大數目的socket描述符;(2)io效率不隨fd數目增加而線性下降

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程式設計的流程 伺服器...