TCP协议详解

2023-09-21 20:56:43

TCP协议特点:面向连接、字节流、可靠传输。

面向连接:使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写。双方都必须为该链接分配必要的内河资源,以管理连接的状态和连接上数据的传输。TCP连接是全双工的,双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须断开连接以释放系统资源。

字节流:发送端可以逐个字节地向数据流(发送缓冲区)中写入数据,接收端也可以逐个字节地将他们读出(从接收缓冲区)。基于流的数据没有边界(长度)限制。当发送端应用程序连续执行多次写操作时,TCP模块先将这些数据放入TCP发送缓冲区中。当TCP模块真正开始发送数据时,发送缓冲区中这些等待发送的数据可能被封装成一个或多个TCP报文段发出。应用程序执行的读写操作次数和TCP模块发送/接收的报文段个数之间没有固定的数量关系。

可靠传输:1.应答机制:发送端发送的每个TCP报文段都必须得到接收方的应答,才认为该报文段传输成功。2.超时重传机制:发送端在发送出一个TCP报文段之后启动定时器,如果定时时间内未收到应答,将重发该报文段。3.接收端的TCP协议程序会对接收到的TCP报文段排序、去重,交给上层(应用层)应用程序。

TCP连接建立过程(四次握手):

更多推荐

堆的实现(C版)

普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。1.堆的概念及结构堆的性质:堆中某个节点的

深度学习——线性神经网络一

深度学习——线性神经网络一文章目录前言一、线性回归1.1.线性回归的基本元素1.1.1.线性模型1.1.2.损失函数1.1.3.解析解1.1.4.随机梯度下降1.1.5.用模型进行预测1.2.向量化加速1.3.正态分布与平方损失1.4.从线性回归到深度网络二、线性回归的从零开始实现2.1.生成数据集2.2.读取数据集2

快速学会搭建微信小程序的基础架构

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)目录基础架构构建界面引入uni-ui组件库组件自动引入配置TS类型状态管理持久化数据交互请求工具请求和上传文件拦截器封装Promise请求函数请求成功提取数据和设置类型获取数据失败基础架构前言:这两天在学习小兔鲜儿微信小程序项目,

10分钟设置免费海外远程桌面

前言本教程将向您介绍如何使用AmazonLightsail服务的免费套餐轻松搭建属于您的远程桌面。依托于Amazon全球可用区,您可以在世界各地搭建符合您配置需求的远程桌面。本教程需要先拥有亚马逊云科技海外账户。现在注册亚马逊云科技账户可以享受12个月免费套餐,包括EC2等多种热门产品。亚马逊云科技开发者社区为开发者们

什么是硬编码

2023年9月21日,周四下午昨天在某个地方看到了“硬编码”,当时不明白是什么意思,于是今天就研究了一下目录硬编码定义缺点举例说明什么是硬编码1.直接在代码中写入文件路径:2.在代码中直接指定常量值:3.将固定的字符串直接嵌入到代码中:正确的做法1.使用配置文件:2.使用环境变量:3.使用命令行参数:4.使用配置管理工

五、核支持向量机算法(NuSVC,Nu-Support Vector Classification)(有监督学习)

和支持向量分类(Nu-SupportVectorClassification),与SVC类似,但使用一个参数来控制支持向量的数量,其实现基于libsvm一、算法思路本质都是SVM中的一种优化,原理都类似,详细算法思路可以参考博文:三、支持向量机算法(SVC,SupportVectorClassification)(有监

Shell脚本之awk的用法

Shell脚本之awk的用法所有参数参数常见用法所有参数参数基本格式:awk‘pattern{action}’file-fprogram:使用程序文件program中的AWK脚本来处理输入数据。-Ffs:设置输入字段分隔符为fs。默认情况下,AWK使用空格或制表符作为字段分隔符。-vvar=val:在处理输入数据之前,

MySQL数据库入门到精通2--基础篇(函数,约束,多表查询,事务)

3.函数函数是指一段可以直接被另一段程序调用的程序或代码。MySQL中的函数主要分为以下四类:字符串函数、数值函数、日期函数、流程函数。3.1字符串函数MySQL中内置了很多字符串函数,常用的几个如下:演示如下:A.concat:字符串拼接selectconcat('Hello','MySQL');B.lower:全部

Java根据模版导出(ftl方式)

实际项目中经常遇到需要根据模版导出数据,普通一点的导出模版都挺好实现的,如果涉及到勾选框、表格循环的方式就比较麻烦一点,这篇文章主要记录一下我在项目中是如何导出word(其中包括根据值勾选、表格循环、图片)一、先准备一份word模版如图:此模版主要是表格内容是多个,性别这先勾选一个,主要是方便后面知道勾选是什么样式,因

android pcm播放器:有进度条同步、快进、快退、倍速功能

PCM(脉冲编码调制)是一种常见的数字音频编码格式,它代表原始音频数据的一种无损编码方式。以下是关于PCM格式的一些重要信息:定义:PCM是一种脉冲编码调制技术,它将模拟音频信号转换为数字形式,通过对模拟信号进行采样和量化,然后将样本表示为二进制编码来实现。PCM不压缩音频数据,因此每个音频样本都以其原始值表示。采样率

The Rise and Potential of Large Language Model Based Agents: A Survey

本文是LLM系列文章,针对《TheRiseandPotentialofLargeLanguageModelBasedAgents:ASurvey》的翻译。基于大型语言模型的Agent的兴起及其潜力摘要1引言2背景2.1AI代理的起源2.22.33Agent的诞生:基于LLM的Agent构建4实践中的代理:利用人工智能造

热文推荐