linux网络编程(2)

news2024/9/24 21:27:07

什么是多线程服务器?

先认识什么是单线程服务器

就是服务器只处理一个客户端信息。

多线程服务器类似的,就是处理很多个客户端的信息。

多进程服务器的核心理念

使用while循环,让服务器一直处于接收状态,每接收到一个客户端,就fork一个子进程,让子进程负责于客户端通信 。

父进程只受理客户端的连接,不与客户端通讯

子进程负责于客户端通讯,不受理客户端连接

认识TCP缓冲区

        系统为每个socket创建了发送缓冲区和接收缓冲区,应用程序调用send()/write()函数发送数据的时候,内核把数据从应用进程拷贝socket的发送缓冲区中;应用程序调用recv()/read()函数接收数据的时候,内核把数据从socket的接收缓冲区拷贝应用进程中。

发送数据即把数据放入发送缓冲区中。

接收数据即从接收缓冲区中取数据。

Nagle算法

Nagle就是停等式协议,只有收到上一个字段确认后,才会继续发送下一个字段

        举个例子:发送端调用send()函数将一个int型数据(称之为A数据块)写入到socket中,A数据块会被马上发送到接收端,接着,发送端又调用send()函数写入一个int型数据(称之为B数据块),这时候,A块的ACK没有返回(已经存在了一个未被确认的小段),所以B块不会立即被发送,而是等A块的ACK返回之后(大概40ms)才发送。

        Nagle算法也是为了尽可能发送大块的数据MSS(Maximum Segment Size,最大报文长度),避免网络中充斥着小数据块。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1981668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

翰德恩赋能新能源龙头企业硬件敏捷研发

该企业始创于1984年,是全球知名的智慧能源系统解决方案提供商。创立40年来,形成了集“发电、储电、输电、变电、配电、售电、用电”为一体的全产业链优势,业务遍及140多个国家和地区,拥有4大全球研发中心,建立6大国际营…

Ldap未授权访问漏洞

LDAP中文全称为:轻型目录访问协议(Lightweight Directory Access Protocol),默认使用389, LDAP 底层一般使用 TCP 或 UDP 作为传输协议。目录服务是一个特殊的数据库,是一种以树状结构的目录数据库为基础。…

药厂子母钟系统,强抗干扰能力,满足复杂生产环境

在制药行业中,精确的时间同步对于确保药品生产的质量和合规性至关重要。药厂子母钟系统作为一种高度可靠的时间同步解决方案,不仅能够提供准确的时间信息,还具有强大的抗干扰能力,非常适合在复杂的生产环境中使用。本文将详细介绍…

登录注册功能开发

本篇文章记录怎么实现一个简单的登陆注册功能。 讲解里的代码是不完全的,具体的代码我会放在文章最后 文章目录 准备为什么要有登录:简述注册功能:简述登录功能完全代码:数据实体部分:Users类:UsersLoginD…

ME31L-创建计划协议

ME31L创建计划协议 一般常用的就是LA和LPA LP不需要审批,LPA需要审批。 计划协议和采购申请实现的功能相同。 计划协议创建界面和创建合同的界面相同。 ME38可以分配交货计划行。 输入计划协议号。回车。 双击行项目后,维护行项目字段。 然后可以在货…

一个线程在sleep的时候set一个信号会起作用吗

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

代码随想录第29天|贪心

134.加油站 代码随想录 代码随想录 索引01234gas12345cost34512 计算每个加油站的剩余油量&#xff0c;累计sum&#xff0c;一旦<0就从下一个重新计数。 我还没理解为什么我们不需要计算环路的sum&#xff0c;而是只需要遍历一次。 因为使用了两个变量&#xff1a;curSu…

Java ExecutorService:你真的了解它吗?

文章目录 一、什么是ExecutorService&#xff1f;二、ExecutorService的核心功能三、如何创建和使用ExecutorService&#xff1f; 时光匆匆&#xff0c;又来到另一个里程碑&#xff0c;感谢粉丝们的陪伴&#xff0c;有你们真好~ 不水文啦&#xff0c;一起加油叭~ 一、什么是Exe…

【Java】Jsoup 解析HTML报告

一、需求背景 有好几种报告文件&#xff0c;目前是人肉找报告信息填到Excel上生成统计信息 跟用户交流了下需求和提供的几个文件&#xff0c;发现都是html文件 其实所谓的报告的文件&#xff0c;就是一些本地可打开的静态资源&#xff0c;里面也有js、img等等 二、方案选型 前…

adb环境变量配置(附详细图解)

adb环境变量配置&#xff08;附详细图解&#xff09; 1、找到ADB工具的位置。通常&#xff0c;如果你Android Studio已经安装了Android SDK&#xff0c;ADB工具位于SDK的platform-tools目录下。我这里的目录是C:\Users\user\AppData\Local\Android\Sdk\platform-tools\adb.exe…

微信防封指南请收好

一、新号与老号的添加限制 建议新注册的微信号主动添加好友的数量不宜过多&#xff0c;推荐每日添加不超过5个好友&#xff1b;对于老号&#xff0c;建议每日添加不超过20个好友。保持适度的添加速度&#xff0c;避免被系统判定为异常操作。 二、避免使用营销性词汇 在发送消…

【计算机视觉】图像处理基本知识

一 基本的图像操作和处理 1.1 PIL&#xff1a;Python图像处理类库 PIL&#xff08;Python Imaging Library&#xff0c;图像处理库&#xff09;提供了通用的图像处理功能&#xff0c;以及大量有用的基本图像操作。PIL库已经集成在Anaconda库中&#xff0c;推荐使用Anaconda&a…

openmetadata自定义连接器开发教程

openmetadata自定义连接器开发教程 一、开发通用自定义连接器教程 官网教程链接&#xff1a; 1.https://docs.open-metadata.org/v1.3.x/connectors/custom-connectors 2.https://github.com/open-metadata/openmetadata-demo/tree/main/custom-connector &#xff08;一&…

【ARM】SMMU系统虚拟化(3)_ VMSAv8-64 address translation stages

讲解颗粒度granule size如何影响地址转换的过程&#xff1a; 对于每个颗粒度来说&#xff1a; 输入的地址范围如何影响起始的lookup levels。对于stage2 转换来说&#xff0c;给链接的转换页表造成的可能的影响。TTBR 地址和indexing对于起始的lookup 1.以4KB的translation g…

初始JVM ! ! ! 相信我,中国人不骗中国人,这一篇也就入门了!!!

目录 1.JVM到底是什么&#xff1f; 2.JVM的三大核心是什么&#xff1f; 1. 解释和运行 2. 内存管理 3. 即时编译&#xff08;JIT&#xff09; 3.常见的Jvm虚拟机有哪些&#xff1f; 1.3.1 Java虚拟机规范 1.3.2 Java虚拟机规范 4. JVM的组成 4.1、类的生命周期 4.1…

Android手机端远程控制ESP32引脚电平实例

一、背景介绍 ESP32是一款高度集成的低功耗系统级芯片&#xff0c;它结合了双核处理器、无线通信、低功耗特性和丰富的外设&#xff0c;适用于各种物联网&#xff08;IoT&#xff09;应用&#xff0c;如果与Android结合&#xff0c;在手机端远程控制ESP32引脚高低电平输出&…

武汉流星汇聚:依托亚马逊平台助力初创企业出海,共创国际品牌辉煌

在全球跨境电商的浩瀚蓝海中&#xff0c;亚马逊如同一座灯塔&#xff0c;以其庞大的市场规模、强大的品牌影响力和成熟的运营体系&#xff0c;引领着无数企业扬帆出海&#xff0c;探索未知的市场机遇。对于中国卖家而言&#xff0c;亚马逊不仅是通往全球消费者的桥梁&#xff0…

一文详解:企业优化仓库管理——WMS系统

如有你有一间小仓库&#xff0c;几位工人埋头于一摞摞的纸质单据中&#xff0c;手工记录着每一次货物的进出与变动。目前看来&#xff0c;这样的时间和效率&#xff0c;作为管理者的你还可以接受。 但是&#xff0c;令你头疼的是&#xff0c;随着企业规模的扩大&#xff0c;你…

springboot信息安全技术在投票网站-计算机毕业设计源码12740

目录 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 2.2.5 修改信息流程 2.2.6 删除信息流程 2.3 系统功能分析 …

ai自动配音工具

AI拟音大师&#xff0c;给你的无声视频添加生动而且同步的音效 &#x1f61d;文件夹是一种基于文本的视频到音频生成框架,可以生成高质量的音频,在语义上相关,并与输入视频时间同步。 下载地址&#xff1a;https://pan.quark.cn/s/5a2be1cc5551