
Linux
文章平均质量分 97
小白Linux学习之路
T_X_Parallel〆
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Reactor模型高并发服务器——05_多线程模块与接收连接模块与服务器模块
在博主仔细考虑后决定把tcpserver模块加到该篇博客后,因为除了Httpserver模块以外的剩下的三个模块实现还是比较简单,毕竟大多是对之前模块的调用封装之类的操作,所以一篇文章将这个服务器组件的基本组件搭出来,只是没有应用层协议支持而已,但是该项目的核心功能可以完成在实现完这三个模块后,抛开协议支持不说,该项目基本完成,应用层协议的支持基本就是方便使用者废话不多说,下面直接开始。原创 2025-04-05 22:28:17 · 883 阅读 · 0 评论 -
Reactor模型高并发服务器——04_连接管理模块
连接管理模块不名思意就是一个管理连接的模块,该模块的主要功能就是管理一个客户端连接的从连接到释放的所有过程,这个模块同样整合了前面的全部模块,包括会使用到Any类,具体的设计会在下面进行详细分析,该模块是该项目的核心模块之一,所以需要注意一些细节,毕竟整个了多个模块,也得先确保前面模块的正确,不然出错会很麻烦,这时候就考验你的调试能力了。原创 2025-04-05 22:27:48 · 968 阅读 · 0 评论 -
Reactor模型高并发服务器——03_事件循环调用模块
虽然标题中只是一个事件循环监控模块,但是这模块中有四个小模块相互关联起来组成的模块,分别为Channel模块、Poller模块、TimerWheel模块、EventLoop模块,准确来说,EventLoop模块将前三个模块的功能集成起来这个模块的主要作用就是监控描述符的事件,并根据触发的事件调用指定的函数进行处理,同时当监控监听套接字事件时根据用户需求进行超时连接释放操作,所以模块中使用了回调函数、I/O多路复用、时间轮等。原创 2025-04-04 21:50:39 · 855 阅读 · 0 评论 -
Reactor模型高并发服务器——02_缓冲区模块与套接字模块
接下来开始逐步实现项目中的多个模块了,首先先实现缓冲区模块和套接字模块,但是在实现这两个模块之前先在项目中加入日志模块很重要,有些打印信息可以帮助调试。提醒:接下来所有的模块实现可能会出现各种各样的bug,博主在实现的时候几乎每次都会遇到新bug,都是代码中一些不起眼的错误,所以实现过程一定要仔细,实现完一个模块就进行测试。当然,博主会在一些容易出错的地方提醒。原创 2025-04-04 21:49:55 · 1171 阅读 · 0 评论 -
Reactor模型高并发服务器——01_项目准备
该博客主要是针对项目内容进行一些知识预备,提前了解一些语法以及结构,方便后面模块的设计原创 2025-03-21 18:44:58 · 928 阅读 · 0 评论 -
Reactor模型高并发服务器——00_项目介绍
使用一个高并发组件即可搭建一个高性能服务器,在C++第三方库中的Muduo库就是高性能开源网络库,专为Linux多线程服务端程序设计。该库以事件驱动为核心,采用非阻塞IO和Reactor模式实现高并发处理,内部通过高效的epoll与多线程协作机制优化资源调度。那么这个项目就是仿照muduo库的实现方式,自己实现一个one thread one loop式主从Reactor模型高并发服务器组件,通过自己实现的高并发服务器组件,就可以简洁快速的完成一个高性能的服务器搭建,同时,实现过程中也能巩固网络通信知识。原创 2025-03-21 18:42:36 · 762 阅读 · 0 评论 -
站内搜索引擎——06_最后优化及结项总结
该项目虽然到这里已经完结了,但是还有许多可以优化和扩展的方向原创 2025-03-15 21:12:46 · 817 阅读 · 0 评论 -
站内搜索引擎——05_html前端模块(前端程序)
博主本人没有对前端进行系统学习过,前端代码只写过几次,所以下面如果有什么问题请见谅,可以在评论区指点。因为前端页面代码并没有什么好阐述的,这个模块主要的重点是`JavaScript`代码,该部分的代码是前端和后端关联的关键,所以着重讲解该部分代码。原创 2025-03-13 17:54:42 · 677 阅读 · 0 评论 -
站内搜索引擎——04_http网络模块(后端主程序)
这个模块实现相对简单,因为使用了现成的库来加入http,不需要自己写http,调用cpp-httplib库中的函数即可。该模块的大致结构和上一个模块中的测试的代码结构大致相似,只是在该部分的代码最后使用的http而不是命令行,废话不多说,直接开始实现。原创 2025-03-13 17:53:48 · 743 阅读 · 0 评论 -
站内搜索引擎——03_Searcher搜索模块
该模块主要要实现的功能就是创建`Index`对象并建立索引和使用用户输入的关键词去获取相关索引并以特定格式返回。上一篇博客也提到了上一个模块的测试要等实现完这个模块然后一起测试,原因就是,这个模块大部分都是调用索引模块中的函数原创 2025-03-11 20:43:58 · 965 阅读 · 0 评论 -
站内搜索引擎——02_正排与倒排索引构建
Boost搜索引擎第二个模块实现——正排与倒排索引构建模块原创 2025-03-06 21:53:55 · 1555 阅读 · 0 评论 -
站内搜索引擎——00_项目介绍
boost是C++库之一,这个网站就是该库的官方网站,这个网站涵盖了boost库各种函数的使用介绍,虽然现在boost官网也增加了搜索功能,但是我们仍然可以使用boost官网的资源自己做个boost搜索引擎下面是boost官网自己的搜索引擎所以该项目的任务就是做出很官方类似的boost库文档搜索引擎。原创 2025-03-03 19:47:31 · 1058 阅读 · 0 评论 -
站内搜索引擎——01_数据去标签与数据清洗
项目环境:Linux云服务器(centos7.9)、vscode1.85.2、g++/CMake技术栈:C/C++ C++11、STL、标准库 Boost、Jsoncpp、cppjieba、cpp-httplib、html。原创 2024-09-25 12:39:11 · 827 阅读 · 0 评论 -
小白的Linux系统学习之路——学前准备(了解Linux、搭建Linux环境)
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。Linux不仅系统性能稳定,而且是开源软件。原创 2023-05-27 13:04:28 · 1334 阅读 · 0 评论