標籤:資料 sdn detail abi style ams 流服務 需要 span
Socket目錄
Socket通訊簡介
Android與伺服器的通訊方式主要有兩種,一是Http通訊,一是Socket通訊。兩者的最大差異在於,http串連使用的是“請求—回應程式式”,即在請求時建立串連通道,當用戶端向伺服器發送請求後,伺服器端才能向用戶端返回資料。而Socket通訊則是在雙方建立起串連後就可以直接進行資料的傳輸,在串連時可實現資訊的主動推送,而不需要每次由用戶端想伺服器發送請求。 那麼,什麼是socket?Socket又稱通訊端,在程式內部提供了與外界通訊的連接埠,即連接埠通訊。通過建立socket串連,可為通訊雙方的資料轉送傳提供通道。socket的主要特點有資料丟失率低,使用簡單且易於移植。
什麼是Socket
Socket是一種抽象層,應用程式通過它來發送和接收資料,使用Socket可以將應用程式添加到網路中,與處於同一網路中的其他應用程式進行通訊。簡單來說,Socket提供了程式內部與外界通訊的連接埠並為通訊雙方的提供了資料轉送通道。
1:Socket
的使用類型主要有兩種:
- 流通訊端(
streamsocket
) :基於 TCP
協議,採用 流的方式 提供可靠的位元組流服務
- 資料通訊端(
datagramsocket
):基於 UDP
協議,採用 資料報文 提供資料打包發送的服務
2:通訊模型圖
Socket 與 Http 對比
Socket
屬於傳輸層,因為 TCP / IP
協議屬於傳輸層,解決的是資料如何在網路中傳輸的問題
HTTP
協議 屬於 應用程式層,解決的是如何封裝資料
由於二者不屬於同一層面,所以本來是沒有可比性的。但隨著發展,預設的Http裡封裝了下面幾層的使用,所以才會出現Socket
& HTTP
協議的對比:(主要是工作方式的不同):
Http
:採用 請求—響應 方式。
- 即建立網路連接後,當 用戶端 向 伺服器 發送請求後,伺服器端才能向用戶端返回資料。
- 可理解為:是用戶端有需要才進行通訊
Socket
:採用 伺服器主動發送資料 的方式
- 即建立網路連接後,伺服器可主動發送訊息給用戶端,而不需要由用戶端向伺服器發送請求
- 可理解為:是伺服器端有需要才進行通訊
相關更多理論可以看: https://www.jianshu.com/p/a6d086a3997d
參考資料:
https://www.jianshu.com/p/a6d086a3997d
https://www.cnblogs.com/zhujiabin/p/5675716.html
53366856
android--------Socket的簡單瞭解