什麼是網路套接字?(計算機網路)


網路套接字是計算機網路節點內的一個軟體元件,充當交付和接收資料的端點。網路架構的應用程式程式設計介面 (API) 定義了套接字的結構和屬性。套接字僅在基於節點的應用程式中程序的生命週期內生成。

由於 TCP/IP 協議在網際網路建立期間已標準化,“網路套接字”一詞最常用於網際網路協議套件的上下文中,因此被稱為“網際網路套接字”。在這種情況下,套接字的地址(傳輸協議、IP 地址和埠號的三元組)用於將其外部標識給其他主機。

節點內部程序間通訊 (IPC) 的軟體端點通常被稱為套接字,它經常使用與網路套接字相同的 API。

管道是使用“Pipe”系統呼叫形成的,套接字是使用“socket”系統呼叫生成的。在網路上,套接字允許雙向 FIFO 通訊。在連線的兩端,都會形成連線到網路的套接字。每個套接字都有其唯一的地址。該地址由 IP 地址和埠號組成。

在大多數客戶端-伺服器應用程式中,都使用套接字。伺服器構建一個套接字,將其連線到網路埠,並等待客戶端連線到它。建立套接字後,客戶端嘗試連線到伺服器套接字。連線建立後,資料就開始傳輸。

套接字型別

**資料報套接字** − 資料報套接字是一種網路套接字,其中資料包的傳送和接收無需建立連線。它類似於郵箱。信件(資料)被收集並投遞(傳輸)到郵箱(接收套接字)。它是一種無連線的套接字。

**流套接字** − 流套接字是計算機作業系統中的一種網路套接字,它提供面向連線的、有序的、獨特的無記錄邊界的資料流,以及建立和銷燬連線以及檢測錯誤的明確機制。它類似於電話。在電話之間(兩端)建立連線。

下圖顯示了完整的客戶端和伺服器互動:

函式呼叫描述
create()建立套接字
bind()這是套接字識別符號,類似於聯絡某人的電話號碼。
connect()準備建立連線?
listen()準備傳送訊息
accept()確認類似於接聽傳送者的電話。
write()傳送資料
read()接收資料
close()結束連線

更新於:2021年8月17日

5000+ 次檢視

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.