首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

传输层Stu

概述和传输层服务 本章学习的重点: 理解传输层的工作原理 多路复用/解复用 可靠数据传输 流量控制 (发送方和接收方的问题) 拥塞控制 学习Internet的传输层协议 UDP:无连接传输 TCP...多的其它额外服务 **都不提供的服务: ** 延迟保证(主机之间的延迟上层无法加强) 带宽保证(ip主机上的带宽无法加强) 多路解复用的工作原理(TCP和UDP不同) TCP复用解复用 每个数据报有源...Server端将数据报发出之后, 对方的IP就会接收到这个数据报开始解析, 在TCP部分就会解析TCP的头部,等等信息 。...,但是有相同的 目标IP地址和端口号,则被定 位到相同的套接字 无连接传输:UDP UDP: User Datagram Protocol (用户数据报协议) 它只是增加了多了复用解复用, 除此之外...可靠数据传输的原理 传送门: https://wclspace.xyz/post/84f702e5.html 面向连接的传输: TCP 段结构 可靠数据传输 流量控制 连接管理 拥塞控制原理 TCP

7010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据库课程设计——学生宿舍信息管理系统

    数据库关系图: 学生的个人信息:学号,姓名,性别,年龄,手机号码,专业,管理员号 student(stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe...3.6.1数据库表的定义 创建学生信息表: Create table student (stu_num varchar(15), Stu_name varchar(10), Stu_gender...拿学生信息表进行举例: Create index stu_index on student(stu_num); 当然可以通过数据库自动生成。...: 对数据的管理主要是由增删改查组成,以学生信息的管理为例, 增加: insert into student(stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe...stu_num=’201677H0522′; 查询:值得注意的是查询的条件是数据行的状态值是1,也就是被标示未被删除。

    4.7K42

    C++ 炼气期之结构体

    随着计算机向着不同领域的延伸,数据的概念已经不仅局限于数值型数据,计算机需要处理大量的非数值类型数据。如在企业级程序的开发过程中所涉及到的工作流信息,几乎都是非数值型数据。...为了能抽象地描述这些非数值类型的数据,C++引入了复合数据类型的概念。 C++数据类型分基本(原生)数据类型和复合数据类型,结构体就是一种复合数据类型。...可认为复合数据类型是通过组合基本数据类型得到的一种新类型,新类型用来描述问题域中的特定数据。 本文所用到的分量一词指的是复合数据类型中的某一个子类型。 2....如下图,修改 stu数据,不可能影响到 stu1的数据。 2.3 动态声明 动态创建的结构体的特点:数据存储在堆中,结构体变量存储的是结构体在内存中的地址。...当某个结构体需要调用函数时,则需要把自己的地址传递给这个函数,以便让此函数知道处理的数据源头。 如上图示,如果 this中保存的是 stu的地址,,函数会处理 stu数据

    74141

    MySQL 基础知识笔记 第03期:子查询和关联查询

    作者简介 马听,多年 DBA 实战经验,对 MySQL、 Redis、ClickHouse 等数据库有一定了解,专栏《一线数据库工程师带你深入理解 MySQL》、《Redis 运维实战》作者。...1 数据准备 建表及数据准备,以便后面 SQL 练习: use yzl; /* 使⽤用yzl这个database */ drop table if exists student_info; /* 如果表...3 子查询 3.1 子句结果只匹配一条数据的情况 select * from student_info where stu_id = (select stu_id from student_score...where stu_score = 90); 3.2 子句结果匹配多行数据的情况 select * from student_info where stu_id in (select stu_id...from student_info a inner join student_score b on a.stu_id= b.stu_id; 可以看出,在内连接中,只有满足条件(两表 id 相等)的数据才会出现

    45730

    Java中的clone() 深拷贝 浅拷贝

    上图展示了浅拷贝:对于非基本数据类型,clone过后,结果两个指针指向了同一块儿内存空间,所以仅仅是浅拷贝,这样的话如果对一个对象进行操作,另一个内容也会变,这显然是不合理的,应该每个对象分别保存自己的数据...= (Strdent) this.clone(); //和上一句话效果等价 cloning.courses = new Vector(); //关键点:非基本数据类型的空间需要自己新开辟一块儿...stu1.setId(1); stu1.setName("Tom"); stu1.setCourses(cs); Student stu2=stu1...Student cloning = (Student) super.clone(); cloning.courses = new Vector(); //关键点:非基本数据类型的空间需要自己新开辟一块儿...所以,要么自己给自己的深拷贝函数起一个名字,要么覆写本类的clone()方法,自己选一个就好,但两者的关键都在于——对于非基本数据类型,要重新new一块儿空间。

    1.1K20

    【MySQL】DQL语句

    8,DQL 下面是黑马程序员展示试题库数据的页面 页面上展示的数据肯定是在数据库中的试题库表中进行存储,而我们需要将数据库中的数据查询出来并展示在页面给用户看。...查询地址信息 select address from stu; 执行上面语句结果如下: 从上面的结果我们可以看到有重复的数据,我们也可以使用 distinct 关键字去重重复数据。...* 表示所有字段数据,一行中也不可能所有的数据都为null,所以建议使用 count(*) select count(*) from stu; 查询数学成绩的最高分 select max(math...* from stu limit 0 , 3; 每页显示3条数据,查询第1页数据 select * from stu limit 0 , 3; 每页显示3条数据,查询第2页数据 select...* from stu limit 3 , 3; 每页显示3条数据,查询第3页数据 select * from stu limit 6 , 3; 从上面的练习推导出起始索引计算公式: 起始索引

    17930

    qsort 函数的使用及其模拟实现

    width, int (__cdecl *compare )(const void *elem1, const void *elem2 ) ); # void* base:要排序数据的起始地址...,把指针类型定义为void*,让qsort函数可以接收任何类型数据的地址; # size_t num:要排序的元素个数; # size_t width:每个元素的大小; # __cdecl:函数调用约定...int (*compare)(const void *elem1, const void *elem2 )); # const void *elem1:用于比较的第一个数据; # const void...*elem2:用于比较的第二个数据; 排序函数的返回值 -返回值 -对应情况 = 0 两个数据相等 > 0 第一个数据大于第二个数据 < 0 第一个数据小于第二个数据 函数使用 我们以上面提到的 struct...函数的模拟实现 我们之前学习了冒泡排序,我们知道,冒泡排序只能排序整形的数据;今天我们就用快速排序的思想来对冒泡排序进行改造,让它能够达到和 qsort 函数同样的效果,可以排序任意类型的数据

    73200

    Go 结构体链表

    定义链表是一种线性数据结构,由一系列节点组成,每个节点包含两个部分:数据部分和指向下一个节点的指针(或引用)部分。链表的第一个节点称为头节点(head),最后一个节点的指针指向空(null)。2....额外的内存开销:每个节点除了存储数据外,还需要存储指向下一个节点的指针,这会增加额外的内存消耗。缓存性能差:链表节点在内存中通常是离散存储的,缺乏局部性,会导致缓存命中率较低,影响访问性能。...使用场景需要频繁插入和删除的场景:例如实现队列、栈等数据结构。不确定数据大小的场景:例如动态集合。内存管理需要灵活的场景:例如实现链表分配器(linked list allocator)。...).Name stu.Age = 20 // 等同于 (*stu).Age stu.Score = 90.5 // 等同于 (*stu).Score显式解引用: (*stu).Name...= "John" (*stu).Age = 20 (*stu).Score = 90.5定义一个单项链表next 是指针类型的属性,指向 Student struct 类型数据,也就是下一个节点的数据类型

    9610

    C语言结构体用法很多,坑也很多

    本文主要说的是C语言中的结构体,结构体是C语言中重要的一部分内容,也是C语言中常用的一种数据结构。...一、关于结构体 在C语言中,结构体(struct)指的是一种数据结构,是C语言中复合数据类型(aggregate data type)的一类。...结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。...stu1,stu2。...它用来对一个数据类型取一个别名,目的是为了使源代码更易于阅读和理解。它通常用于简化声明复杂的类型组成的结构 ,但它也常常在各种长度的整数数据类型中看到,例如size_t和time_t。

    1.3K10

    Mysql基础7-约束

    一、约束的基本概念   1、概念:约束是作用于表中字段上的规则,用于限制储存在表中的数据   2、目的:保证数据库中的数据的正确性,有效性和完整性   3、分类 非空约束(not null):限制该字段的数据不能为...null 唯一约束(unique):保证该字段的所有数据都是唯一,不重复的 主键约束(primary key):主键是一行数据的唯一标识,要求非空且唯一 默认约束(default):保存数据时,如果未指定该字段的值...,则采用默认值 检查约束(check 8.0以后的新约束):保证字段满足某一个条件 外键约束(foreign key):用来让两张变的数据建立连接,保证数据的一致性和完整性 二、约束的案例实践   需求...四、外键约束展示   1、原始数据:student表结构及其数据 mysql> select * from student; +----+----------+------------+-------+...--------+------------+-------+ 6 rows in set (0.00 sec)     说明1:当删除数据的时候,子表中对应的外键数据也会变成了null 五、删除外键约束

    34640
    领券