當前位置:生活全書館 >

生活小竅門

> socket原理

socket原理

socket通訊原理是什麼?讓我們一起來了解下。

Socket指套接字,就是對網路中不同主機上的應用程序之間進行雙向通訊的端點的抽象。一個套接字就是網路上程序通訊的一端,提供了應用層程序利用網路協議交換資料的機制。從所處的地位來講,套接字上聯應用程序,下聯網路協議棧,是應用程式通過網路協議進行通訊的介面,是應用程式與網路協議棧進行互動的介面。

Socket保證了不同計算機之間的通訊,也就是網路通訊。對於網站,通訊模型是服務器與客戶端之間的通訊。兩端都建立了一個Socket物件,然後通過Socket物件對資料進行傳輸。通常伺服器處於一個無限迴圈,等待客戶端的連線。

socket原理

套接字是通訊的基石,是支援TCP/IP協議的路通訊的基本操作單元。可以將套接字看作不同主機間的程序進行雙間通訊的端點,它構成了單個主機內及整個網路間的程式設計介面。套接字存在於通訊域中,通訊域是為了處理一般的執行緒通過套接字通訊而引進的一種抽象概念。套接字通常和同一個域中的套接字交換資料,各種程序使用這個相同的域互相之間用Internet協議簇來進行通訊,套接字還有以下型別:

1、流套接字

流套接字用於提供面向連線、可靠的資料傳輸服務。該服務將保證資料能夠實現無差錯、無重複送,並按順序接收。流套接字之所以能夠實現可靠的資料服務,原因在於其使用了傳輸控制協議,即TCP協議。

2、資料報套接字

資料報套接字提供一種無連線的服務。該服務並不能保證資料傳輸的可靠性,資料有可能在傳輸過程中丟失或出現數據重複,且無法保證順序地接收到資料。資料報套接字使用UDP協議進行資料的傳輸。由於資料報套接字不能保證資料傳輸的可靠性,對於有可能出現的資料丟失情況,需要在程式中做相應的處理 。

3、原始套接字

原始套接字與標準套接字(標準套接字指的是前面介紹的流套接字和資料報套接字)的區別在於:原始套接字可以讀寫核心沒有處理的IP資料包,而流套接字只能讀取TCP協議的資料,資料報套接字只能讀取UDP協議的資料。因此,如果要訪問其他協議傳送的資料必須使用原始套接。

socket原理 第2張

標籤: Socket 通訊原理
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/xiaoqiaomen/m360qe.html