socket通訊的建立

Jam_CheungFei發表於2020-10-11

TCP協議

TCP是一種面向連線的保證可靠傳輸的協議。通過TCP協議傳輸,得到的是一個順序的無差錯的資料流。傳送方和接收方的成對的兩個socket之間必須建 立連線,以便在TCP協議的基礎上進行通訊,當一個socket(通常都是server socket)等待建立連線時,另一個socket可以要求進行連線,一旦這兩個socket連線起來,它們就可以進行雙向資料傳輸,雙方都可以進行傳送 或接收操作。

UDP是User Datagram Protocol的簡稱,是一種無連線的協議,每個資料包都是一個獨立的資訊,包括完整的源地址或目的地址,它在網路上以任何可能的路徑傳往目的地,因此能否到達目的地,到達目的地的時間以及內容的正確性都是不能被保證的。

(一)兩者之間的比較

UDP:

每個資料包中都給出了完整的地址資訊,因此無需要建立傳送方和接收方的連線。
UDP傳輸資料時有大小限制的,每個被傳輸的資料包必須限定在64KB之內。
UDP是一個不可靠的協議,傳送方所傳送的資料包並不一定以相同的次序到達接收方。
TCP:

面向連線的協議,在socket之間進行資料傳輸之前必然要建立連線,所以在TCP中需要連線時間。
TCP傳輸資料大小限制,一旦連線建立起來,雙方的socket就可以按統一的格式傳輸大的 資料。
TCP是一個可靠的協議,它確保接收方完全正確地獲取傳送方所傳送的全部資料。

建立通訊

socket通訊分為客戶端和伺服器端。伺服器端會不停的監聽,當伺服器端監聽到有客戶端向其傳送通訊請求的時候,雙方建立連線。通訊完畢後,雙方關閉連線。

相關文章