網路程式設計筆記 socket可讀可寫條件

2022-07-27 00:45:16 字數 562 閱讀 5374

回憶網路程式設計的可讀,可寫。( 參考: unix 網路程式設計卷 1  第六章 io復用 )

1.接收快取區低水位標記(用於讀)和傳送快取區低水位標記(用於寫):

每個套接字有乙個接收低水位和乙個傳送低水位。他們由select函式使用。

接收低水位標記是讓select返回"可讀"時套接字接收緩衝區中所需的資料量。對於tcp,其預設值為1。

傳送低水位標記是讓select返回"可寫"時套接字傳送緩衝區中所需的可用空間。對於tcp,其預設值常為2048.

通俗的解釋一下,快取區我們當成乙個大小為 n bytes的空間,那麼:

接收區快取的作用就是,接收對面的資料放在快取區,**用程式讀。當然了,只有當快取區可讀的資料量(接收低水位標記)到達一定程度(eg:1)的時候,我們才能讀到資料,不然不就讀不到資料了嗎。

傳送區快取的作用就是,傳送應用程式的資料到快取區,然後一起發給對面。當然了,只有當快取區剩餘一定空間(傳送低水位標記)(eg:2048),你才能寫資料進去,不然可能導致空間不夠。

2.fin: (結束標誌,finish)用來結束乙個tcp回話.但對應埠仍處於開放狀態,準備接收後續資料.

socket網路程式設計筆記

一 基礎知識 xinetd 開源伺服器,監聽指定埠 1000以上 b s模式 http協議,協議頭 資料 方法get 協議頭部分 可選 connect tyoe 回些客戶端的資料的型別 必須 r n 資料tcp面向連線的通訊協議,只能用於端到端的通訊 通過三次握手建立連線,有反饋udp面向無連線的,...

網路程式設計學習筆記 socket程式設計

本地的程序間通訊 ipc 有很多種方式,總結為4類 在本地可以通過程序pid來唯一標識乙個程序,但是在網路中這是不可以的。tcp ip協議族幫我們解決了這個問題,網路層的 ip位址 可以唯一標識網路中的主機,而傳輸層的 協議 埠 可以唯一標識主機中的應用程式 程序 這樣利用三元組 ip位址 協議 埠...

socket網路程式設計 學習筆記

伺服器端先初始化socket,然後與埠繫結 bind 對埠進行監聽 listen 呼叫accept阻塞,等待客戶端連線。在這時如果有個客戶端初始化乙個socket,然後連線伺服器 connect 如果連線成功,這時客戶端與伺服器端的連線就建立了。客戶端傳送資料請求,伺服器端接收請求並處理請求,然後把...