Linux中TCP listen()的backlog参数详解

LISTEN(2)                                                         Linux Programmer's Manual                                                         LISTEN(2)

NAME 名称
       listen - listen for connections on a socket 在一个套接字上倾听连接

SYNOPSIS 概述
       #include <sys/socket.h>

       int listen(int s, int backlog);

DESCRIPTION 描述
       在接收连接之前,首先要使用 socket(2) 创建一个套接字,然后调用 listen 使其能够自动接收到来的连接并且为连接队列指定一个长度限制.  之后就可以使用 accept(2)
       接收连接.  listen 调用仅适用于 SOCK_STREAM 或者 SOCK_SEQPACKET 类型的套接字.

       参数        backlog        指定未完成连接队列的最大长度.如果一个连接请求到达时未完成连接         队列已满,那么客户端将接收到错误         ECONNREFUSED.
       或者,如果下层协议支持重发,那么这个连接请求将被忽略,这样客户端 在重试的时候就有成功的机会.

NOTES 注意
       在TCP套接字中          backlog          的含义在Linux          2.2中已经改变.          它指定了已经完成连接正等待应用程序接收的套接字队列的长度,而不是
       未完成连接的数目.未完成连接套接字队列的最大长度可以使用  tcp_max_syn_backlog  sysctl设置  当打开syncookies时不存在逻辑上的最大长度,此设置将被忽略.参见
       tcp(7) 以获取更多信息.

RETURN VALUE 返回值
       函数执行成功时返回0.错误时返回-1,并置相应错误代码.  errno

ERRORS 错误
       EBADF  参数 s 不是合法的描述符.

       ENOTSOCK
              参数 s 不是一个套接字.

       EOPNOTSUPP
              套接字类型不支持 listen 操作.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值