第六章 高階i/o函式
6.3 當讀寫分散的記憶體塊時,簡單的將他們拼接在一塊更大的記憶體上傳送或一開始將他們存在同一塊記憶體中都不是較好的解決方案,使用writev和readv可以讀寫分散的多塊記憶體資料。引數二是乙個指向陣列的指標,其單位struct iovc是用來乙個記憶體塊的結構體,這樣只需要一次系統呼叫。
6.4 html,js,css檔案的應用如此廣泛,sendfile這個函式的實用價值就不用說了,通過直接將檔案內容寫到sockfd,一切都在核心操作,沒有讀寫檔案和為檔案分配記憶體的操作,實現了「0拷貝」。
6.5 另乙個很有用的函式mmap和munmap,將檔案對映到一塊記憶體。實際更重要的乙個應用是程序共享記憶體。
6.6 splice和tee這兩個管道函式,後面章節細看。
6.7 fcntl,這個不用多說了
《Linux高效能伺服器程式設計》 讀書筆記
資料鏈路層可以看成是乙個網絡卡驅動,為上層提供了乙個統一的介面。telnet協議是一種遠端登入協議,它使得我們能在本地完成遠端任務。產生復位報文段的三種情況 訪問不存在的埠 異常終止連線 處理半開啟連線 tcp互動資料流 telnet,ssh 和成塊資料流 ftp tcp利用緊急指標標誌和緊急指標來...
linux高效能伺服器程式設計
linux高效能伺服器程式設計 當當網 亞馬遜 目錄 第一章 tcp ip協議族 第二章 ip協議族 第三章 tcp協議詳解 第四章 tcp ip通訊案例 訪問internet 第五章 linux網路程式設計基礎api 第六章 高階io函式 第七章 linux伺服器程式規範 第八章 高效能伺服器框架...
linux 高效能伺服器程式設計
1.高效能定時器 時間輪,時間堆 處理超時時間,如nginx使用紅黑樹,找出最可能超時的事件 2.高效能伺服器程式框架 nginx 使用的是基於事件模型,epoll,不阻塞,非同步處理 兩種高效的事件處理模式 reactor模式 proactor模式 兩種高效的併發模式 半同步 半非同步模式 領導者...