当前位置: 首页 > java >正文

【服务器通信-listen】——int listen(int sockfd, int backlog)

#include <sys/types.h> 

#include <sys/socket.h>

int listen(int sockfd, int backlog);

sockfd:

    socket文件描述符

backlog:

    在Linux 系统中,它是指排队等待建立3次握手队列长度,即同时能处理的最大连接要求

返回值:

成功返回0,失败返回-1。

系统修改:

查看系统默认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()并未开始接收连线,只是设置socket 为 listen 模式

真正接收 client 端连线的是 accept()

http://www.xdnf.cn/news/3890.html

相关文章:

  • 【多次弹出“获取打开此tobiieyetracking链接的应用”的窗口】解决办法
  • [硬件电路-11]:模拟电路常见元器件 - 什么是阻抗、什么是输入阻抗、什么是输出阻抗?阻抗、输入阻抗与输出阻抗的全面解析
  • Python_leve2.1
  • Python语句入门:从基础到实践
  • STM32的定时器
  • 在Linux中如何创建自定义的systemd服务的步骤
  • 动静态库【Linux操作系统】
  • 股指期货风险管理功能及基差、升水、贴水的影响
  • 牛客月赛115 C题-命运之弹 题解
  • Linux环境下的进程创建、退出和进程等待
  • 谷歌 NotebookLM 支持生成中文播客
  • n8n 条件节点详解:IF 与 Switch 的多分支工作流设计
  • 虚函数VS虚拟继承:C++多重继承二义性破解与性能调优
  • 论快乐的学习和学习的快乐
  • 万字详解ADC药物Payload
  • Debezium 架构详解与实战示例
  • 【操作系统】深入理解内存管理:从虚拟内存到OOM Killer
  • cloudfare+gmail 配置 smtp 邮箱
  • 【CISCO】Se2/0, Se3/0:串行口(Serial) 这里串口的2/0 和 3/0分别都是什么?
  • React hooks详解
  • 快速外网访问,证书自动续约 | 极空间IPv4IPv6 DDNS 配置详解
  • 数据结构与算法:回溯
  • Python:Seaborn 美化图表的技术指南
  • 【五一培训】Day 4
  • 常用命令集合
  • PCB叠层设计方案
  • 探秘DeepSeek模型参数:解锁AI潜能的密码
  • GenCLS++:通过联合优化SFT和RL,提升生成式大模型的分类效果
  • Python之学习笔记(六)
  • Prompt compress 技术探究-LLMLingua