一、socket的概念
socket 又成『套接字』。
網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端成為一個 socket。
應用程序通常通過『套接字』向網絡發出請求或者應答網絡請求。
socket過程
二、網絡通信要素
- 網絡上的的請求就是通過 Socket 來建立連接然后互相通信
- IP 地址(網絡上主機設備的唯一標識)
- 端口號(定位程序)
- 用于標示進程的邏輯地址,不同進程的標示
- 有效端口:0 ~ 65535,其中 0 ~ 1024 由系統使用或者保留,開發中建議使用 1024 以上的端口
- 傳輸協議(用什么樣的方式進行交互)
- 通訊的規則
- 常見協議:TCP、UDP
TCP & UDP
-
TCP(傳輸控制協議)
- 建立連接,形成傳輸數據的通道
- 在連接中進行大數據傳輸(數據不受限制)
- 通過三次握手完成連接,是可靠協議,安全送達
- 必須建立連接,效率會稍低
-
UDP(用戶數據報協議)
- 將數據及源和目的封裝成數據包中,不需要建立連接
- 每個數據報的大小限制在 64 K 之內
- 因為無需連接,因此是不可靠協議
- 不需要建立連接,速度快
四、Socket通信流程圖
Socket通信流程圖