![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
服务器
文章平均质量分 85
madkeyboard
。
展开
-
sylar高性能服务器-日志(P74-p79)内容记录
最后一个基础模块的封装,同样继承于`SocketStream`,实现发送请求报文,接收响应报文。此外实现了连接池、使用状态机解析`URI`原创 2024-03-19 14:33:17 · 376 阅读 · 0 评论 -
sylar高性能服务器-日志(P70-p73)内容记录
第一个参数接收一个Socket,第二个参数表示在析构时是否需要程序自定中断连接。,用于接收请求报文,发送响应报文。原创 2024-03-14 16:11:41 · 445 阅读 · 0 评论 -
sylar高性能服务器-日志(P69)内容记录
基于之前写的序列化模块封装了读和写,但是`socket`的`API`并不保证一定能够写或读到规定的字节数,所以封装了`readFixSize`、`writeFixSize`保证一定操作规定字节的数据。原创 2024-03-13 15:13:39 · 404 阅读 · 1 评论 -
sylar高性能服务器-日志(P67-P68)内容记录
这一节的内容对于之前学过网络编程的同学看起来比较简单一些,也没啥新的内容,都是使用之前完成的模块搭建了一个简单的`echo`服务器。原创 2024-03-12 20:18:09 · 451 阅读 · 0 评论 -
sylar高性能服务器-日志(P61-P66)内容记录
本章节内容主要基于网上一个开源的`Http`解析协议,封装了对`Http`请求/响应报文使用状态机解析报文格式,保存到请求和响应报文对象中。 由于最主要的`Http`解析用了现成的开源代码,所以这几节的内容还是比较容易,核心还是去理解所使用的`http`解析源码,下面的内容仅视频内容的记录,没有源码解析。原创 2024-03-10 09:12:07 · 477 阅读 · 0 评论 -
sylar高性能服务器-日志(P57-P60)内容记录
序列化模块通常用于将数据转换为可以在网络上传输的格式,或者将接收到的网络数据反序列化为程序内部可用的格式。这个模块可以帮助简化网络通信的数据处理过程,提高服务器的性能和可维护性。原创 2024-03-06 20:03:57 · 1080 阅读 · 0 评论 -
sylar高性能服务器-日志(P54-P56)内容记录
后面三节内容和前面`Address`模块一样,主要对`socket`的方法进行封装,提供接口方便的创建`TCP`、`UDP`、`Unix`的`socket`对象。当创建一个`socket`对象时,并没有真正的创建一个`socket`句柄,此时它的句柄为`-1`,只有在`bind`、`connect`的时候才会通过`newSock()`创建一个`socket`句柄与对象关联起来,在`accept`时创建新的`socket`对象,并初始化。新的`socket`句柄都初始化为地址复用模式,如果为`TCP`连接原创 2024-03-05 15:18:35 · 418 阅读 · 0 评论 -
sylar高性能服务器-日志(P49-P53)内容记录
sylar高性能服务器-日志(P43-P48)内容记录原创 2024-03-04 09:28:14 · 854 阅读 · 0 评论 -
sylar高性能服务器-日志(P43-P48)内容记录
`sylar`封装`hook`模块的目的就是让一些C标准库提供的同步`API`可以实现异步的性能。`hook`将`API`封装成一个与原始系统调用同名的接口,在调用这个接口时,先实现一些别的操作,然后在调用原始的系统`API`。这样对开发者来说很方便,不用重新学习新的接口,用着同步的接口实现异步的操作。原创 2024-02-28 16:52:01 · 637 阅读 · 0 评论 -
sylar高性能服务器-日志(P36-P42)内容记录
前面4节主要内容在协程调度的基础上,基于`epoll`设计了IO协程调度,支持为socket句柄加读事件(`EPOLLIN`)和写事件(`EPOLLOUT`),并且支持删除事件、取消事件功能。`IOManager`主要通过`FdContext`结构体存储文件描述符`fd`、注册的事件`event`,执行任务`cb/fiber`,其中`fd`和`event`用于`epoll_wait`,`cb/fiber`用于执行任务。原创 2024-02-26 13:42:07 · 915 阅读 · 0 评论 -
sylar高性能服务器-日志(P30-P35)内容记录
这里开始协程调度模块,封装了一个M:N协程调度器,创建N个协程在M个线程上运行,调度器的主要思想就是先查看任务队列中有没有任务需要执行,若没有任务就进入空闲状态,反之进行调度。原创 2024-02-23 15:02:09 · 1074 阅读 · 0 评论 -
sylar高性能服务器-日志(P26-P29)内容记录
断言时,如果一个函数在很多地方调用并且触发了断言,那么我们就不能通过控制台输出的异常信息知道到底是哪次调用的断言出了问题,debug起来就相当麻烦,讲课确实不喜欢解释代码,看完这一节啥都不知道,下列记录了我根据网上他人的一些笔记以及资料对这一节代码的解释,可能理解得不太对,自行参考。下列是协程类目前的代码,因为还没有编译过,所以里面可能存在错误,后面将解释一下这些成员函数和变量的具体含义,以及其它的一些知识点。是无法被执行的,因为我们之前的子协程在运行完后没有做任何的处理,导致无法回归到主协程。原创 2024-01-24 15:48:36 · 1030 阅读 · 0 评论 -
sylar高性能服务器-日志(P21-P25)内容记录
如果你在这几节视频中遇到了代码编译问题,那么下列内容会有帮助。原创 2024-01-23 15:16:50 · 910 阅读 · 0 评论 -
sylar高性能服务器-日志(P15-P20)内容记录
以下内容是sylar高性能服务器视频的简单记录,如果你在调试代码时遇到了困难那么下面内容会有帮助。原创 2024-01-15 09:58:04 · 1030 阅读 · 0 评论 -
sylar高性能服务器-配置(P12-p14)内容记录
记录sylar高性能服务器P12-P14配置模块的内容,原创 2023-12-13 20:36:49 · 231 阅读 · 0 评论 -
sylar高性能服务器-配置(P10-p11)代码解析+调试分析
本节内容主要是通过使用yaml-cpp库从yaml文件中读取配置信息,下面内容主要记录配置yaml的步骤以及对sylar使用yaml-cpp里面的方法进行一个简单解释。原创 2023-12-12 21:21:46 · 328 阅读 · 0 评论 -
sylar高性能服务器-配置(P9)代码解析+调试分析
本节内容主要讲诉了sylar高性能服务器视频P9的内容,并给出了代码逐步调试的步骤和结果。本节内容主要新增了一个配置类,允许重新从用户的给定配置文件中加载用户配置,如果你对于新增代码还有疑惑,看看下面的调试步骤一定会有帮助。原创 2023-10-18 20:31:17 · 394 阅读 · 0 评论 -
sylar高性能服务器-日志(P7-P8)代码解析
P7P8两节视频新增内容不多,主要看下优化日志输出使用的宏函数。本次记录的内容比较简单,没有一步一步详细写出来,如果对P7之前的代码不存在问题,那么写到这里应该不会存在疑惑。同时建议每一次看代码时都去捋一下日志几大组件之间的关系,看多了真的有点绕。原创 2023-10-13 10:35:06 · 250 阅读 · 0 评论 -
sylar高性能服务器-日志(P1-P6)代码解析+调试分析
本篇文章主要针对一下sylar高性能服务器项目视频p1-p6的代码分析以及调试,大佬在讲课时基本上都是码代码,很少去详细的讲解代码的细节。像我这种没接触过服务器项目的小白看起来都很有压力,还别说能运行。下面的内容一到六是我自己对当前视频代码的一个简单分析,可能很多地方理解的不对,大家自己取舍。第七部分则是使用gdb进行调试,观察给出的示例是如何运行的,不然照着抄一遍基本看不懂写的什么,如果你写完代码甚至不知道每个模块具体做了什么,推荐可以参考我调试的步骤,没接触过gdb也无妨,只需要知道几个简单命令就行。原创 2023-10-08 14:43:50 · 737 阅读 · 3 评论