SOCKET与底层TCP协议的关系

server/2024/10/20 7:37:13/

客户端调用connect
    底层发送SYN包到服务端
    如果此时服务端尚未listen,
        则返回RST+ACK,connect返回失败;
    如果此时服务端已经调用listen,
        如果listen队列未满,
            返回SYN+ACK,客户端应答ACK,握手完成,connect返回成功;
        如果listen队列已满,
            返回RST+ACK,connect返回失败;

服务端调用accept与否不影响握手


连接建立之后
调用shutdown(SD_SEND),底层发送FIN包到对方,对方应答ACK
调用shutdown(SD_RECEIVE),
    如果此时没有数据等待recv,
        则不做任何处理,可正常发送数据;
    如果此时有数据在等待recv或者后续收到数据,
        则发送RST+ACK,之后连接终端,双方都不能再发送/接收数据;

调用shutdown后,套接字相关资源未释放,直到closesocket
 


http://www.ppmy.cn/server/133284.html

相关文章

单片机中断概念以及示例

中断允许控制寄存器 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。 EX0(IE.0),外部中断0允许位;EX01,打开外部中断0中断;EX00关闭外部中断0中断。 ET0(IE.1),定时/计数器T0中断允许…

10 分钟使用豆包 MarsCode 帮我搭建一套后台管理系统

以下是「 豆包MarsCode 体验官」优秀文章,作者把梦想揉碎。 十分钟使用豆包 MarsCode 搭建后台管理项目 在这个快节奏的时代,开发者们总是希望能够快速、高效地完成项目的搭建与开发工作。无论是初创企业还是大型公司,后台管理系统都是必不可…

WordPress外部图片本地化插件

一款用于本地化文章的外部图片的插件,支持如下功能: 文章发布前通过编辑器插件本地化 文章手动发布时自动本地化 文章定时发布时自动本地化 针对已发布的文章批量本地化。 源码下载:https://download.csdn.net/download/m0_66047725/898963…

TH-OCR:强大的光学字符识别工具与车牌识别应用

在当今数字化的时代,高效准确地识别文本和图像中的字符变得至关重要。TH-OCR(清华 OCR)作为一款优秀的光学字符识别软件,以其卓越的性能和广泛的应用场景,受到了众多用户的青睐。其中,车牌识别功能更是在交…

尚硅谷rabbitmq2024介绍和工作模式 第4-9节 答疑

RabbitMQ体系结构介绍重要:对体系结构的理解直接关系到后续的操作和使用 Broker Connection Channel Producer Channel Virtual Host Consumer Channel ---rabbitmq connection里面有很多channel,channel是什么 在RabbitMQ中,channel(通道&…

Python | Leetcode Python题解之第494题目标和

题目: 题解: class Solution:def findTargetSumWays(self, nums: List[int], target: int) -> int:cache {} # 记忆化单元# functools.cache # Python functools自带记忆化单元【启用后可省去自定义cache单元】def dfs(i, summ, t):summ: 前i…

ai字幕用什么软件制作?6款视频加字幕工具分享!

在视频制作和后期处理中,字幕的添加是一个重要的环节。随着AI技术的发展,越来越多的软件开始支持AI自动加字幕功能,使得字幕的制作变得更加简单和高效。本文将为大家介绍几款常用的AI字幕制作软件,并详细讲解如何使用AI自动加字幕…

【2022统考真题】计算时间复杂度

目录 一、题目描述 二、思路分析 三、易错提醒 四、同级和嵌套的关系 一、题目描述 下列程序段的时间复杂度是&#xff08;&#xff09; int sum 0; for (int i 1; i < n; i * 2) for (int j 0; j < i; j) sum; A. O(logn) B. O(n) C. O(nlogn) D…