Skip to content
果冻虾仁 edited this page Dec 15, 2018 · 3 revisions

函数原型

#include <sys/types.h>
#include <sys/socket.h>

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

描述

accept()用于接收子服务套接字socket上的连接请求。在有客户进程企图与socket连接时,它创建一个新套接字与这个客户通信,并返回新套接字的描数字。新套接字与套接字socket的类型和通信域均相同。原来的套接字socket仍保持打开并且是未连接的,它可用来再次调用accept()接收另外的连接直到关闭为止。

参数

  • cliaddr是出参(结果参数),返回客户端套接字的协议地址,可以置为NULL。
  • addrlen是值-结果参数,必须被初始化为cliaddr所指定地址的字节数,返回其实际占用的字节数

Linux环境编程API

C语言API包含部分标准C的API、POSIX标准的系统编程API(一些Linux独有的系统API会单独注明)。

头文件源码

大部分头文件源码在/usr/include目录下。

安装man手册

因为涉及到大量的POSIX编程。所以最好下载POSIX函数的man手册。

Ubuntu

apt-get install manpages-posix        
apt-get install manpages-posix-dev

默认安装了manpages-dev,所以不装POSIX的man手册是可以查看绝大部分API的。
但是不装的话,有些API是不能看到的,比如posix_spawn函数。

CentOS

yum install man-pages.noarch

关于目录

左侧的目录并非以函数为索引依据,主要是以系统的man手册页面为索引依据。
比如exec里面包含6个函数、pipe里面包含pipe()和pipe2()两个函数,但是它们都是属于一个man页面中。

Clone this wiki locally