- 博客(55)
- 收藏
- 关注
原创 网络层协议 --- IP
每一个设备接入互联网时,都会被分配一个或多个唯一的IP 地址,用于在网络上设别和定位该设备。这句话放在学习本章内容之前肯定是没问题的,但是在认识了NAT技术之后就要打个问号了。IP地址(IPv4地址)由32位二进制数(8个字节)来表示:但是这种表示方式非常不便于我们阅读比较,于是将每一个字节以十进制数表示:现在看起来舒服多了,为了避免数字混淆在一起,最后加上来分割:这就变成了我们熟悉的表达方式了,便于我们查看以便于我们和其他的IP比较。网段划分,简单来说,就是将一个大的IP。
2024-10-08 19:22:19 1447
原创 TCP --- 滑动窗口以及拥塞窗口
这篇文章中,我们主要介绍了使用滑动窗口来控制流量,拥塞窗口解决拥塞问题,最后介绍了面向字节流,希望大家有所收获!
2024-10-04 13:04:10 1366
原创 TCP --- 确认应答机制以及三次握手四次挥手
在这一篇文章中,我们介绍了TCP的协议段格式,以及保证其可靠传输的确认应答机制,重传机制,着重介绍了三次握手建立连接,四次挥手断开连接的过程,希望大家有所收获!
2024-10-03 11:42:22 1071
原创 传输层协议 --- UDP
在这篇文章中我们了解了UDP,感觉内容不是很多,也比较好理解。但是在之后学习TCP可是截然不同了,毕竟后者为了可靠可是下了不少功夫,希望大家这篇文章有所收获!
2024-09-26 12:23:23 929
原创 应用层协议 --- HTTP
在互联网世界中,HTTP(HyperTextTransferProtocol,超文本传输协议)是一个至关重要的协议。它定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输超文本(如HTML文档)。经过前面的的铺垫学习,我们知道了只要是协议,双方就达成了一定的约定!在这里还需要注意重要的一点是,HTTP的底层是基于TCP进行数据传输的!在这篇文章中我们简单认识了HTTP协议的组成,并且已经简单的实现了浏览器访问云服务器,返回相应数据的功能,希望大家有所收获!
2024-09-25 22:19:32 1713
原创 序列化和自定义协议
在上一篇文章中,我们介绍了Socket 编程,已经可以简单地使用该方法来进行服务端和客户端的数据了。在这篇文章中我们将在此基础上学习序列化和反序列化,以及在应用层上自定义协议。
2024-09-24 09:11:28 1013
原创 计算机网络 --- Socket 编程
协议就是一种约定,规范了双方通信需要遵循的规则、格式和流程,以确保信息能够被准确地传递、接收和理解。在这篇文章中我们将介绍怎么进行跨网络数据传输,在这一过程中相信大家肯定可以加深对协议的理解。
2024-09-19 15:40:00 1260
原创 计算机网络 ---如何寻找目标计算机
在没有产生网络之前,单个主机就像汪洋大海之间的一个孤岛,和其他主机之间没有任何联系。但随着需求的产生,免不了两台主机之间需要产生交流(传送数据等)。离得近的两台主机之间搭一根网线就能够解决,但是如果两台主机之间的距离隔得十分远呢?
2024-09-10 11:16:58 1318
原创 C++11 --- 智能指针
在这篇文章中我们首先介绍了智能指针的思想,之后分别介绍了常用的三种智能指针(unique_ptr, shared_ptr, weak_ptr),最后我们简单的实现了第二个指针,希望大家有所收获!
2024-09-06 14:59:21 1693
原创 C++11 --- function 包装器以及 bind 适配器
在这篇文章中,我们主要介绍了 function 包装器以及 bind 适配器,现在我们对可调用对象又有了一个新的认识,希望大家有所收获!
2024-09-04 10:16:22 1011
原创 Git 使用指南 --- 分支管理
⾸先,master分⽀应该是⾮常稳定的,也就是仅⽤来发布新版本,平时不能在上⾯⼲活;那在哪⼲活呢?⼲活都在其他分⽀上,当你完成任务时只需要和主分支合并就好啦!
2024-09-02 09:00:42 1012
原创 线程 --- 同步与生产消费者模型
在本文中我们介绍了线程同步的概念,以及基于线程同步的生产消费者模型,还是尝试实现了该模型的核心代码,希望大家有所收获!
2024-08-27 07:44:43 1000
原创 Linux 操作系统 --- 信号
信号是操作系统向进程发送的一种通知,表示某个特定事件已经发生。在Unix、类Unix以及其他系统中,信号被广泛使用。在这篇文章中介绍了信号的概念,也介绍了信号从哪里来,到哪里去,被接受处理的过程,希望大家有所收获😁。
2024-08-16 17:50:51 1327
原创 尝试一文带你理解 --- 进程的控制
在这篇文章中,除了进程的创建,还会介绍进程的退出,进程的等待,进程的替换等内容,帮助大家更好地去了解进程的控制。
2024-07-27 19:36:51 621
原创 尝试带你理解 - 进程地址空间,写时拷贝
进程地址空间中的虚拟地址通过操作系统的地址转换机制(如页表)映射到物理地址。当程序试图访问某个虚拟地址时,操作系统会查找页表,将虚拟地址转换为对应的物理地址,然后访问物理内存中的数据。
2024-07-25 21:02:40 1005
原创 前缀和算法
在这篇文章中,我们将认识一维前缀和以及二维前缀和,前缀和主要用于数据结构(如数组)的区间求和问题。,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。遍历每一个查询区间,然后输出结果,显而易见时间超时了!是的,这道题我们也需要构造前缀和数组,但是怎么构造呢?行,每行包含 m个整数,表示整数矩阵。−1000≤数列中元素的值≤1000。−1000≤矩阵内元素的值≤1000。构造的矩阵,就比如我们表示一下。对于每个询问,输出原序列中从第。个询问,每个询问包含四个整数。
2024-07-10 22:28:29 613 1
原创 一篇文章带你实现 哈希表(Hash Table)
哈希表通过哈希函数将键(Key)映射到表中的一个位置(通常是数组的索引),从而实现对数据的快速查找、插入和删除。哈希函数是哈希表的核心,它决定了键如何被映射到哈希表的索引上。
2024-07-06 17:36:43 985
原创 AVL树的删除操作 --- Part two
AVL树的内容就结束了。可以看到通过旋转操作,AVL树可以将查询效率始终控制在O(log n)。但在C++ STL中却并没有使用该树来构造map,set,而是使用红黑树。这位更是重量级,他的维护成本更低,删除效率更高,那他背后又是什么样的逻辑呢?👀。
2024-06-29 16:31:04 857
空空如也
请教各位,刚学不明白为什么这样
2022-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人