83-网络编程接收连接函数

函数原型:int accept( int fd, struct socketaddr* addr, socklen_t* len);

参数说明:

fd:套接字描述符。已绑定并设置为“监听”状态的套接字,称它为监听套接字,该套接字只是负责监听连接请求,实际上不会用于发送和接收数据

addr:返回连接着的地址。被声明为一个指向sockaddr结构的指针,当accept()函数成功返回后,将连接对等方的端点地址写入addr指针指向的结构中返回

len:接收返回地址的缓冲区长度。指明地址结构的长度

返回值:成功返回客户端的文件描述符,失败返回-1。

accept()函数由TCP服务器调用,用于从已完成连接的连接请求队列中返回一个已完成连接的客户请求

accept()函数的返回值是另一个用于数据传输的套接字,被称为已连接套接字,负责与本次连接的客户通信

accept()函数的调用实际上是一个出队的操作,如果此时没有客户连接请求,则客户连接请求队列为空,在阻塞模式下该函数会继续等待,直到一个连接请求到达,当成功返回时,由addr指向的sockaddr结构中填充了连接另一端客户的地址和端口号,如果调用者对此不关心,可以将参数addr和addrlen设置为NULL

上一篇:linux无法连接首先查看防火墙


下一篇:c++ 高并发服务器详解