在linux中,s類型文件是指“套接字文件(socket)”,它是一種特殊的文件,用於進程之間的通信;可以通過這個文件來初始化一種網絡協議,然後就可以透過一系列的函數來對這個網路協定進行初始化、傳輸等等操作。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
Linux檔案類型(b、c、d、l、s、-)
文件型別 | 說明 |
---|---|
b | 區塊設備,是一些提供系統存取資料的介面設備,例如硬碟。 |
c | 字元設備,是一些序列埠的介面設備,例如鍵盤、滑鼠、印表機、tty終端機。 |
d | 目錄,類似Windows的資料夾。 |
l | 連結文件,類似Windows的捷徑。 |
s | 套接字檔案(socket),用於進程之間的通訊。 |
- | 文件,分純文字檔案(ASCII)和二進位(binary)。 |
socket套接字作為一種特殊的文件,可以透過這個socket來初始化一種網路協議,然後就可以透過一系列的函數(write/read/ accept)來對這個網路協定進行初始化、傳輸等等操作
socket定義
#Socket是應用層與TCP/IP協定族通訊的中間軟體抽象層,它是一組介面。在設計模式中,Socket其實就是一個門面模式,它把複雜的TCP/IP協定族隱藏在Socket介面後面,對使用者來說,一組簡單的介面就是全部,讓Socket去組織數據,以符合指定的協定
socket在Linux核心中的結構
#socket在核心中其實就是一個結構體。這個結構體包含有ip、port、state、size等成員,這些成員都是用來初始化套接字的詳細資訊的,但我們無法直接使用這些成員。因此Linux提供了對應的介面函數給我調用,我們透過這些函數來初始化socket結構體內的成員
結構體中
ip、port:初始化IP位址與連接埠號碼
#state:目前網路服務的狀態(監聽/非監聽)
size:最大可連接的數量
因為這些結構體成員我們不可能直接操作,所以Linux提供了對應的介面函數給我們調用,來操作這些成員
bind():綁定ip與連接埠號碼
#listen():監聽
....等等還有很多其他函數
相關推薦:《Linux影片教學》
以上是linux s類型檔案是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!