1. 程式人生 > >linux tcp ip協議棧學習路線圖(1)

linux tcp ip協議棧學習路線圖(1)

即將開啟tcp/ip協議棧的學習,本篇部落格主要是提供接下來即將分析的協議棧相應的文章目錄。

1. tcp/ip協議棧的資料結構,詳見:點選開啟連結

2. inet_init()初始化,詳見:點選開啟連結

3. socket()通訊流程

基於TCP(面向連線)的socket程式設計,分為客戶端和伺服器端。

客戶端的流程如下:
(1)建立套接字(socket)詳見:點選開啟連結
(2)向伺服器發出連線請求(connect)
(3)和伺服器端進行通訊(send/recv)
(4)關閉套接字
伺服器端的流程如下:
(1)建立套接字(socket)詳見:點選開啟連結
(2)將套接字繫結到一個本地地址和埠上(bind)詳見:點選開啟連結


(3)將套接字設為監聽模式,準備接收客戶端請求(listen)詳見:點選開啟連結
(4)等待客戶請求到來;當請求到來後,接受連線請求,返回一個新的對應於此次連線的套接字(accept)
(5)用返回的套接字和客戶端進行通訊(send/recv)
(6)返回,等待另一個客戶請求。
(7)關閉套接字。