一、函数原型 :
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
二、函数功能 :
————accept函数由TCP服务器调用,用于从已完成连接队列队头返回下一个已完成连接。如果已完成连接队列为空,那么进程被投入睡眠。
三、函数参数 :
① sockfd :
————服务器端sockfd描述符
② addr :
————用来返回已连接的对端(客户端)的协议地址。
③ addrled :
————客户端地址长度
注意第二个参数是当accept返回时,如果成功存储客户端信息的结构,第三个参数是第二个参数的字节大小。如果我们不在意可以设置为NULL。
三、函数返回值
————一个新的套接字描述符,返回的新的描述符表示的是已连接的套接字描述符,而第一个参数是服务器监听描述符。一个服务器通常仅创建一个监听套接字,它在该服务器的生命周期内一直存在,内核为每个由服务器进程接受的客户连接创建一个已连接套接字(表示TCP 三次握手已完成),当服务器完成对某个给定客户的服务时,相应的已连接套接字就会被关闭。