Linux网络——文件与网络的连接桥梁struct sock {

@bit::Shadow
✧(≖ ◡ ≖✿

目录

三次握手

[listen( ) 的使用](#listen( ) 的使用)

当服务端仅listen()而不accept()情况下,客户端最多可以链接几个?

[当服务端backlog == 1](#当服务端backlog == 1)

[struct socket { 桥梁](#struct socket { 桥梁)


三次握手

即:accept不参与三次握手。

listen( ) 的使用

cpp 复制代码
#include <sys/socket.h>

int listen(int sockfd, int backlog);

当服务端仅listen()而不accept()情况下,客户端最多可以链接几个?

最多建立backlog + 1个链接----这些称作全链接队列。

因此listen第二个参数的含义是全链接队列中已经建立链接(握手成功)的链接个数。

注:当大于backlog客户端链接时,C端交互仅进行到握手的第一次SYN_SEND

accept的本质是将已经建立好的连接拿出来使用。

当服务端backlog == 1

举例图示

验证得到:正常链接了2个,第三个客户端处于SYN_SENT状态。

struct socket { 桥梁

我们自struct task_struct { 开始到文件描述符表struct file* fd_array\[\] 到达文件与网络的桥梁struct sock { 其链接了TCP UDP通信基础。(作为指针强转形成C风格多态)

UDP无inet_connection_socket {

感谢支持,长期连载

欢迎关注

相关推荐
迪康coolmu9 小时前
企业U盘管控落地实战:基于迪康端点安全一体化管理系统的移动存储安全实践
运维·人工智能·经验分享·笔记·安全·电脑
沫璃染墨9 小时前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
Decay__10 小时前
21_MySQL 优化案例集 —— 慢 SQL 优化、索引重构与参数调整收益对比
运维·数据库·sql·mysql·架构
CodeYp201910 小时前
第19讲:自旋锁
linux·自旋锁
此生决int10 小时前
Linux系列(08)——进程控制
linux·运维·驱动开发
BioTender10 小时前
Xaira 发布 X-Automate:将物理 AI 与智能体 AI 引入实验室自动化
运维·人工智能·自动化
Percep_gan11 小时前
Linux中安装gitea,很详细
linux·elasticsearch·gitea
Z21-X12 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla20 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio