答案是:accept過程發生在三次握手之后,三次握手完成后,客戶端和服務器就建立了tcp連接並可以進行數據交互了。這時可以調用accept函數獲得此連接。
TCP Accept總結
TCP Accept 是三次握手以后,Accept正確返回以后TCP Server 可以和Client的連接已建立並可以通信了
注意區分listen socket 和 accept socket。
socket分為兩種,一種套接字正如accept的參數sockfd,它是listen socket,在調用listen函數之后,一個socket會從主動連接的套接字變為listen 套接字;而accept返回是一個連接套接字,它代表着一個網絡已經存在的點對點連接。以后的數據交互就是基於這個連接socket ,而之前的那個listen socket可以繼續工作,從而接收更多的連接。
Accept默認會阻塞進程,直到有一個客戶連接建立后返回
附加:TCP建立連接的時候connect()函數和accept()函數分別在三次握手第幾次后返回()