Skip to content
果冻虾仁 edited this page Jan 28, 2015 · 2 revisions

listen()不允许用于无连接的套接字。 ##函数原型

#include <sys/socket.h>

int listen(int socket, int backlog);

listen()为socket建立一个连接请求侦听队列。 ##参数 ###backlog backlog指明套接字侦听队列未完成连接的数目。通常指定其值大于系统规定的最大值,这时,当侦听队列的连接请求数超过系统的限制值时,系统会自动截断backlog之值为系统最大值。在Linux2.2开始,backlog的含义变成了已经完成连接正等待应用程序接收的套接字队列的长度。
如果backlog小于0,该函数会自动设置侦听队列为0。
##返回值 成功返回0,失败返回-1并设置errno错误条件。

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