文章目录

  • 1 listen函数介绍

1 listen函数介绍

#include <sys/types.h> /* See NOTES */
#include <sys/socket.h>
int listen(int sockfd, int backlog);/*
sockfd:socket文件描述符
backlog:在Linux 系统中,它是指排队等待建立3次握手队列长度
*/

查看系统默认backlog:
cat /proc/sys/net/ipv4/tcp_max_syn_backlog

改变系统限制的backlog 大小:
vim /etc/sysctl.conf

最后添加:
net.core.somaxconn = 1024 net.ipv4.tcp_max_syn_backlog = 1024

保存,然后执行:
sysctl -p

典型的服务器程序可以同时服务于多个客户端,当有客户端发起连接时,服务器调用的accept()返回并接受这个连接,如果有大量的客户端发起连接而服务器来不及处理,尚未accept的客户端就处于连接等待状态,listen()声明sockfd处于监听状态,并且最多允许有backlog个客户端处于连接待状态,如果接收到更多的连接请求就忽略。listen()成功返回0,失败返回-1。


参考资料:

  1. C/C++从入门到精通-高级程序员之路【奇牛学院】

listen函数介绍相关推荐

  1. linux网络编程之Listen函数参数介绍

    1.listen()函数介绍 listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程.在TCP服务器编程中listen函数把进程变为一个服务器, ...

  2. UNIX网络编程-listen函数及其包裹函数介绍

    UNIX网络编程-listen函数及其包裹函数介绍 函数简介 #include<sys/socket.h>int listen(int sockfd,int backlog);返回:若成功 ...

  3. 1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client

     1  Socket编程 socket这个词可以表示很多概念: 在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程,"IP 地址+端 ...

  4. LwIP tcp/ip socket编程listen函数分析

    函数原型为: [cpp] view plain copy int listen(int  sockfd, int  backlog); <span style="font-family ...

  5. 网络编程之 listen()函数的使用与三次握手的理解

    listen()函数 在进入我们的函数讲解前大家再回顾一下编写服务器端的流程 服务器端:socket()-->bind( )-->listen()-->accept()-->r ...

  6. socket编程基础2(socket API函数介绍)

    "一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信 ...

  7. python3 转码的函数_python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...

  8. C语言网络编程:listen函数详解

    文章目录 前言 函数描述 代码实例 TCP服务器为什么调用listen 前言 根据TCP编程模型中我们可以看到之前的socket和bind接口是tcp服务器在为接收客户端的链接做准备,保证tcp的面向 ...

  9. C语言中的scanf()函数介绍

    1.scanf函数:读取从键盘输入的数据 在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据 getchar().get ...

最新文章

  1. python学习--for循环详解
  2. 前端篇--------1.css学习笔记
  3. python 读取数据出现UnicodeDecodeError:: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid contin
  4. 计算机科学与技术研究目的,计算机科学与技术专业培养目标分析
  5. java代码题_精选20道Java代码笔试题
  6. 一个简易的数字输入框组件
  7. java中常用的类——Math类
  8. 京东自动签到领京豆软件_京东618来了,合法又简单的自动领京豆的技能要get一下吗?...
  9. 易辅客栈第六套零基础开发商业脚本_网页游戏篇
  10. 深度学习在视频行为识别中应用
  11. 解决win10笔记本电脑Wifi频繁自动断开
  12. ol4服务器连接不稳定,红警Online频繁掉线怎么办 总是断开链接问题解答
  13. uniapp获取用户数据昵称为“微信用户”(小程序)@杨章隐
  14. IP2188-Datasheet
  15. 【Python】基于OpenCV与UDP实现的视频流传输
  16. 疫情控制住了,公司却倒闭了!
  17. 2021-08-23 多模态反讽识别系列文章阅读(一)
  18. 读书笔记:《权力之治:人工智能时代的算法规制》
  19. 中标linux+银河麒麟=中标麒麟
  20. easymock平台语法初体验

热门文章

  1. 【数理知识】《矩阵论》方保镕老师-第3章-矩阵的分解
  2. 【Matlab 图像】bwlabel() 连通域及图像分割
  3. 1.12 改善你的模型表现-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  4. 4.6 大数据集-机器学习笔记-斯坦福吴恩达教授
  5. cocos2dx 引入 libpomelo库
  6. 自动化部署shell01
  7. mysql添加和root用户一样的权限
  8. Hadoop何以快速成为最佳网络安全工具?
  9. hihoCoder #1195 : 高斯消元·一
  10. STM32F0308开发环境的选择--CooCox CoIDE篇