- 博客(90)
- 收藏
- 关注
原创 Reactor模式
文章目录🍎Reactor模式Reactor模式的定义Reactor模式的角色构成Reactor模式的工作流程🍏epoll ET服务器(Reactor模式)设计思路EventItem结构Reactor类Dispatcher函数(事件分派器)AddEvent函数DelEvent函数EnableReadWrite函数回调函数accepter回调recver回调sender回调errorer回调套接字相关运行epoll ET服务器接入线程池
2025-02-07 01:23:25
1092
原创 IO多路转接——select&poll&epoll
文章目录🍌I/O多路转接之selectselect初识select函数socket就绪条件select基本工作流程select服务器select的优点select的缺点select的适用场景🍍I/O多路转接之pollpoll初识poll函数poll服务器poll的优点poll的缺点🥭I/O多路转接之epollepoll初识epoll的相关系统调用epoll工作原理epoll服务器epoll的优点epoll工作方式对比LT和ET
2025-02-07 01:17:34
771
原创 Linux高级IO
文章目录🥥IO的基本概念🍇钓鱼五人组🍈五种IO模型🍉高级IO重要概念同步通信 VS 异步通信阻塞 VS 非阻塞🍊其他高级IO🍋阻塞IO🍋🟩非阻塞IO
2025-02-06 11:35:59
1377
原创 DNS协议&ICMP协议&NAT技术
文章目录🍓DNS协议DNS背景域名简介域名解析过程使用dig工具分析DNS过程🫐ICMP协议ICMP功能ICMP协议格式ping命令一个值得注意的坑traceroute命令🍅NAT技术NAT技术背景NAT IP转换过程NAPTNAT技术的缺陷NAT和代理服务器🥝网络协议总结应用层传输层网络层数据链路层
2025-02-06 11:06:37
903
原创 数据链路层协议——以太网协议
文章目录🍐链路层解决的问题🍑以太网协议认识以太网以太网帧格式认识MAC地址对比理解MAC地址和IP地址认识MTUMUT对IP协议的影响MTU对UDP协议的影响MTU对TCP协议的影响数据跨网络传输的过程🍒ARP协议ARP协议的作用ARP数据的格式ARP协议的工作流程
2025-02-05 16:03:32
974
原创 网络层协议——IP协议
文章目录🍏IP协议基本概念IP协议格式分片与组装网段划分特殊的IP地址IP地址的数量限制私网IP地址和公网IP地址路由路由表生成算法
2025-02-05 15:57:48
1164
原创 TCP相关实验
文章目录🥭TCP相关实验理解CLOSE_WAIT状态理解TIME_WAIT状态解决TIME_WAIT状态引起的bind失败的方法理解listen的第二个参数使用Wireshark分析TCP通信流程🍎TCP与UDPTCP与UDP对比用UDP实现可靠传输(经典面试题)
2025-02-04 11:13:37
1330
原创 传输层协议——TCP协议
文章目录🍍TCP协议谈谈可靠性TCP协议格式序号与确认序号窗口大小六个标志位确认应答机制(ACK)超时重传机制连接管理机制三次握手四次挥手流量控制滑动窗口拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况TCP小结基于TCP的应用层协议
2025-02-04 11:03:19
860
原创 传输层协议——UDP协议
文章目录🍋🟩传输层再谈端口号端口号范围划分认识知名端口号两个问题netstat与iostatpidof🍌UDP协议UDP协议格式UDP协议的特点面向数据报UDP的缓冲区UDP使用注意事项基于UDP的应用层协议
2025-02-03 10:24:30
1054
原创 应用层协议——HTTPS协议
文章目录🍋HTTPS 协议SSL/TLS 协议概述加密机制对称加密非对称加密混合加密数字签名与数字证书HTTPS 的通信过程SSL/TLS 通信过程握手阶段客户端发出请求(ClientHello)服务器响应(SeverHello)客户端回应服务器最后的回应HTTPS 通信过程HTTPS 的优缺点优点缺点
2025-02-03 10:18:43
1149
原创 应用层协议——HTTP协议
文章目录🍊HTTP协议HTTP简介认识URLurlencode和urldecodeHTTP协议格式HTTP请求协议格式HTTP响应协议格式HTTP的方法HTTP的状态码HTTP常见的HeaderCookie和Session
2025-02-02 11:05:24
914
原创 协议&网络版计算器
文章目录🍈认识“协议”协议的概念结构化数据的传输序列化和反序列化🍉网络版计算器服务端代码协议定制客户端代码服务线程执行例程存在的问题代码测试
2025-02-02 10:40:40
731
原创 网络编程套接字(下)
文章目录🍓简单的TCP英译汉服务器简单回顾更改handler方法代码测试🫐地址转换函数字符串IP转整数IP整数IP转字符串IP关于inet_ntoa函数🥝绑定失败问题🥥TCP协议通讯流程通讯流程总览三次握手的过程数据传输的过程四次挥手的过程🍇TCP和UDP对比
2025-02-01 18:16:45
1154
原创 网络编程套接字(中)
文章目录🍏简单的TCP网络程序服务端创建套接字服务端绑定服务端监听服务端获取连接服务端处理请求客户端创建套接字客户端连接服务器客户端发起请求服务器测试单执行流服务器的弊端🍐多进程版的TCP网络程序捕捉SIGCHLD信号让孙子进程提供服务🍑多线程版的TCP网络程序🍒线程池版的TCP网络程序
2025-02-01 17:59:26
1223
原创 网络编程套接字(上)
文章目录🍍预备知识理解源IP地址和目的IP地址理解源MAC地址和目的MAC地址理解源端口号和目的端口号PORT VS PID认识TCP协议和UDP协议网络字节序🥭socket编程接口socket常见APIsockaddr结构🍎简单的UDP网络程序服务端创建套接字服务端绑定字符串IP VS 整数IP运行服务器客户端创建套接字关于客户端的绑定问题启动客户端本地测试INADDR_ANY简易的回声服务器网络测试
2025-01-30 01:00:10
1548
原创 网络入门基础
文章目录🍉网络的位置🍊计算机网络背景网络发展认识“协议”🍋网络协议初始协议分层OSI七层模型TCP/IP五层(或四层)模型🍋🟩网络传输基本流程同局域网的两台主机通信跨网络的两台主机通信🍌网络中的地址管理认识IP地址认识MAC地址IP地址 VS MAC地址
2025-01-30 00:40:30
916
原创 Linux信号量
文章目录🥝POSIX信号量信号量的原理信号量的概念信号量函数🥥二元信号量模拟实现互斥功能🍇基于环形队列的生产消费模型空间资源和数据资源生产者和消费者申请和释放资源必须遵守的两个规则代码实现信号量保护环形队列的原理
2025-01-29 01:55:22
820
原创 Linux生产者消费者模型
文章目录🍉生产者消费者模型生产者消费者模型的概念生产者消费者模型的特点生产者消费者模型优点🍋基于BlockingQueue的生产者消费者模型基于阻塞队列的生产者消费者模型模拟实现基于阻塞队列的生产消费模型
2025-01-28 01:41:39
1039
原创 Linux线程安全
文章目录🥭Linux线程互斥进程线程间的互斥相关背景概念互斥锁mutex互斥锁的接口互斥锁实现原理探究🍍可重入VS线程安全概念常见的线程不安全的情况常见的线程安全的情况常见的不可重入的情况常见的可重入的情况可重入与线程安全联系可重入与线程安全区别🍑常见锁概念死锁死锁的四个必要条件避免死锁🫐Linux线程同步同步概念与竞态条件条件变量条件变量函数为什么pthread_cond_wait需要互斥锁条件变量使用规范
2025-01-28 01:40:26
1632
原创 Linux多线程
文章目录🍊Linux线程概念什么是线程二级页表线程的优点线程的缺点线程异常线程用途🍋🟩Linux进程VS线程进程和线程进程的多个线程共享进程和线程的关系🍇Linux线程控制POSIX线程库线程创建线程等待线程终止分离线程线程ID及进程地址空间布局
2025-01-27 11:34:22
943
原创 Linux任务管理与守护进程
文章目录🍅任务管理进程组概念作业概念会话概念相关操作前台进程&后台进程jobsfgbgps命令查看指定的选项🫒守护进程守护进程的概念作用守护进程的查看守护进程的创建原生创建守护进程调用daemon函数创建守护进程模拟实现daemon函数
2025-01-27 11:30:18
711
原创 Linux进程信号
本篇文章详细讲解了Linux中的信号、产生信号、阻塞信号、捕捉信号、可重入函数、volatile关键字以及SIGCHLD信号等相关知识,庖丁解牛式带你领略Linux进程信号的魅力!
2024-12-08 00:35:51
1101
原创 Linux进程间通信
本篇文章采用图文结合代码的方式详细讲解了进程间通信、管道、共享内存、消息队列以及信号量等相关知识,庖丁解牛式带你领略Linux进程间通信的魅力!
2024-12-08 00:20:29
1018
原创 Linux动态库和静态库
文章采用图文结合代码的方式详细讲解了动静态库的基本原理、认识动静态库、动静态库各自的特征(优缺点)以及动静态库的打包和使用等相关知识。
2024-11-25 22:07:46
849
原创 Linux基础IO
【万字详解Linux基础IO】文章以图文结合代码的方式详细讲解了系统文件IO、文件描述符、重定向、FILE结构字段、文件系统、软硬链接已经文件的三个时间相关知识。
2024-11-25 21:54:08
799
原创 深度剖析Linux进程控制
本文从是什么、怎么用再到为什么层层递进深入讲解了进程的创建、终止、等待以及替换,对各个接口采用文字、代码及图片进行叙述,庖丁解牛式带你领略Linxu进程控制的魅力!
2024-11-22 21:53:54
1137
1
原创 Linux2.6内核进程调度队列
本文深入探讨了Linux内核事如何调度进程这一问题,并以Linux2.6内核为例讲解了运行队列、活跃队列、过期队列、active指针和expired指针以及O(1)调度算法相关知识。
2024-11-22 21:02:39
928
原创 进程地址空间详解
学习Linux系统编程一共要翻越三座大山——进程地址空间、文件系统以及多线程,这三部分内容很难但是非常重要,而今天我们将要征服的就是其中的第一座高山——进程地址空间。
2024-05-15 21:10:40
870
原创 Linux环境变量详解
本文着重讲解了什么是PATH环境变量、如何添加PATH环境变量、系统中的其他环境变量、环境变量的由来、环境变量的基本操作以及命令行参数中环境变量的体现。
2024-05-14 18:41:10
1054
原创 深度剖析进程概念与进程状态
本篇文章详细讲述了进程是什么、PCB是什么、进程的一些基本操作、进程状态、僵尸进程、孤儿进程、进程优先级以及进程切换。
2024-05-14 18:40:59
952
原创 C++类型转换及IO流(深度剖析)
C语言中的类型转换有隐式类型转换和强制类型转换,这样的转换风格很简单,但却有着不少缺点,那么C++是如何进行类型转换的呢?接下来,让我们一起学习一下C++类型转换的相关知识。除此之外,本章还会重点讲解C++的IO流的相关知识。
2024-03-21 22:35:17
1103
原创 C++特殊类及单例模式
在实际场景中,我们在编写类的过程中总会遇到一些特殊情况,比如设计一个类不能被拷贝/不能被继承/只能在堆上创建对象/只能在栈上创建对象/只能创建一个对象,基于这些场景,我们来谈谈这些特殊类该如何实现。
2024-03-17 22:18:58
1043
原创 C++智能指针深度剖析
本篇文章将着重讲解智能指针的作用、内存泄漏以及智能指针的使用和原理(包括RAII、auto_ptr、unique_ptr、shared_ptr、shared_ptr的循环引用问题和定制删除器)。
2024-03-08 22:38:30
881
原创 C++11新特性(深度剖析+总结)
看完本文,你将掌握C++11的常用新特性。本文将着重讲解初始化列表、C++11中新加入的一些声明、范围for循环、STL中的一些变化、右值引用和移动语义、新的类功能、可变参数模板、lambda表达式以及包装器。
2024-02-18 18:18:42
1324
1
原创 C++ 哈希+unordered_map+unordered_set+位图+布隆过滤器(深度剖析)
本篇文章将着重讲解 unordered 系列关联式容器(unordered_map 和 unordered_set)、底层结构(哈希的概念、哈希函数、哈希冲突)、模拟实现(unordered_map 和 unordered_set 的模拟实现)以及哈希的应用(位图和布隆过滤器)。
2024-02-05 16:47:04
1056
4
原创 C++ pair+map+set+multimap+multiset+AVL树+红黑树(深度剖析)
本篇文章将着重讲解关联式容器、键值对、树形结构的关联式容器(set、map、multiset 和 multimap)、AVL 树的模拟实现、红黑树的模拟实现以及 map 和 set 的模拟实现。
2024-02-02 13:43:58
1084
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人