1 Socket一般也稱作」套接字「,用於描述IP地址和端口,廢話很少說,它就是網絡通訊過程當中端點的抽象表示。 2 Socket又稱"套接字",應用程序一般經過"套接字"向網絡發出請求或者應答網絡請求。 3 4 socket中TCP的三次握手創建鏈接詳解 5 6 咱們知道tcp創建鏈接要進行「三次握手」,即交換三個分組。大體流程以下: 7 8 客戶端向服務器發送一個SYN J 9 服務器向客戶端響應一個SYN K,並對SYN J進行確認ACK J + 1 10 客戶端再想服務器發一個確認ACK K + 1 11 12 只有就完了三次握手,可是這個三次握手發生在socket的那幾個函數中呢? 13 14 當客戶端調用connect時,觸發了鏈接請求,向服務器發送了SYN J包,這時connect進入阻塞狀態; 15 16 服務器監聽到鏈接請求,即收到SYN J包,調用accept函數接收請求向客戶端發送SYN K ,ACK J + 1,這時accept進入阻塞狀態; 17 18 客戶端收到服務器的SYN K ,ACK J + 1以後,這時connect返回,並對SYN K進行確認;服務器收到ACK K + 1時,accept返回,至此三次握手完畢,鏈接創建。 19 20 總結:客戶端的connect在三次握手的第二個次返回,而服務器端的accept在三次握手的第三次返回。