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 操作. 

最新文章

  1. 自己写的一个Pager分页组件,WebForm,Mvc都适用
  2. springMVC、https、GET调用别人提供的接口!!!
  3. [转]程序员自己写的神器 MonoDevelop 4 (Xamarin Studio) Debugging for Unity
  4. 【转】伪静态URLRewrite学习笔记
  5. Office英语学习好帮手
  6. python基础——模块
  7. gets()和getchar()还有getch()的区别
  8. 09day2
  9. js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false
  10. 【python】for循环
  11. Bash里面如何返回绝对路径
  12. Django基础四(model和数据库)
  13. linux系统ubuntu18.04安装mysql(5.7)
  14. 区分Python中的可变对象和不可变对象
  15. Python 离线工作环境搭建
  16. springboot整合fastJson遇到重定向问题
  17. js动态规划---最长子序列(lcs)
  18. ubuntu 设置DNS
  19. USB学习笔记连载(十三):keil的配置环境
  20. The &quot;Double-Checked Locking is Broken&quot; Declaration

热门文章

  1. Spring Cloud云架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)
  2. linux crontab -e生成日期格式
  3. gitblit 数据迁移(复制)
  4. SpringBoot,用200行代码完成一个一二级分布式缓存
  5. leetcode-mid-math - 69. Sqrt(x)-NO
  6. Text Classification
  7. 分布式任务队列 Celery —— 深入 Task
  8. Delphi Tokyo 10.2.3发布了
  9. Java中关于Date等日期类的简单使用
  10. Spark启动流程(Standalone)- master源码