1. 程式人生 > >accept中的監聽套接字和已連線套接字

accept中的監聽套接字和已連線套接字

int accept(int sockfd, struct sockaddr* cliaddr, socklen_t *addrlen);

該函式用於從已完成連線的佇列隊頭返回下一個已完成連線。

其中sockfd為監聽套接字

cliaddr和addrlen由核心填入客戶端的協議地址

返回值為已連線套接字

監聽套接字

一個服務程序通常只建立一個監聽套接字,用來監聽是否有客戶端連線到本埠,該監聽套接字在服務程序的生命週期一直存在

已連線套接字

服務端和客戶端的一條連線為已連線套接字

其通常由(伺服器ip + port, 客戶端ip +port)組成

隨著客戶端的通上和端開,其套接字也會建立和銷燬

只對於TCP三次握手過程已經完成的連線。