操作系统 --- 使用套接字进行网络通信
一個套接字就是一個通信標識類型的數據結構,包含了通信目的的地址、通信使用的端口號、通信網絡的傳輸協議、進程所在的網絡地址,以及針對客戶或服務器程序提供的不同系統調用等,是進程通信和網絡通信的基本構件。套接字是為客戶/服務器模型而設計的,通常分為以下兩類:
1.基于文件類型:通信進程都運行在同一臺機器的環境中,套接字是基于本地文件系統支持的,一個套接字關聯到一個特殊的文件,通信雙方通過對這個特殊文件的讀寫實現通信原理.
2.基于網絡類型:該類型通常采用的是非對稱方式的通信,即發送者需要提供接收者命名。通信雙方的進程運行在不同主機的網絡環境下,被分配了一對套接字,一個屬于接收進程(或服務器端),一個數據發送進程(或客戶端).一般地,發送進程(或客戶端)發出連接請求時,會隨機申請一個套接字,主機為之分配一個端口,與該套接字綁定,不再分配給其他進程。接收進程(或服務器端)擁有全局公認地套接字和指定地端口(如ftp服務器監聽端口為21,Web或http服務器監聽端口為80),并通過監聽端口等待客戶請求.接收進程(或服務器端)一旦收到請求,就接受來自發送進程(或客戶端)地連接,完成連接,即在主機間傳輸的數據可以準確地發送到通信進程,實現進程間地通信;當通信結束時,系統通過關閉接受進程(或服務器)的套接字撤銷連接。
由于每個套接字擁有唯一的套接字號(也稱套接字標識符),這樣系統中所有的連接都持有唯一的一對套接字及端口連接,對于來自不同應用程序進程或網絡連接的通信,能夠方便地加以區分,確保了通信雙方之間邏輯鏈路地唯一性,便于實現數據傳輸的并發服務,而隱藏了通信設施及實現細節,采用統一的接口進行處理.
參考《計算機操作系統》(第4版) P75
總結
以上是生活随笔為你收集整理的操作系统 --- 使用套接字进行网络通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不同型号服务器如何做双击热备,服务器做双
- 下一篇: 电子招投标系统解决方案