基于多反应堆的

呵呵哒( ̄▽ ̄)"1 年前
基于多反应堆的·高并发服务器·c/c++/reactor
基于多反应堆的高并发服务器【C/C++/Reactor】(中)HttpRequest模块 解析http请求协议一、HTTP响应报文格式二、根据解析出的原始数据,对客户端的请求做出处理 processHttpRequest
呵呵哒( ̄▽ ̄)"1 年前
基于多反应堆的·高并发服务器·c/c++/reactor
基于多反应堆的高并发服务器【C/C++/Reactor】(中)HttpResponse的定义和初始化 以及组织 HttpResponse 响应消息一、HttpResponse的定义1.定义状态码枚举2.HTTP 响应报文格式这个数据块主要是分为四部分
呵呵哒( ̄▽ ̄)"1 年前
请求行·请求头·基于多反应堆的·高并发服务器·c/c++/reactor
基于多反应堆的高并发服务器【C/C++/Reactor】(中)HttpRequest 提取请求行、解析请求行和优化 以及解析请求头并存储### 知识点1:读取网络数据回顾Buffer.c中的bufferSocketRead函数### 知识点2:从Buffer中读取请求行
呵呵哒( ̄▽ ̄)"1 年前
基于多反应堆的·高并发服务器·c/c++/reactor
基于多反应堆的高并发服务器【C/C++/Reactor】(中)创建一个TcpConnection实例 以及 接收客户端数据#CSDN 年度征文|回顾 2023,赢专属铭牌等定制奖品#一、主线程反应堆模型的事件添加和处理详解>>服务器和客户端建立连接和通信流程:
呵呵哒( ̄▽ ̄)"1 年前
删除·基于多反应堆的·高并发服务器·c/c++/reactor·处理任务队列中的任务·添加·修改
基于多反应堆的高并发服务器【C/C++/Reactor】(中)处理任务队列中的任务一、处理任务队列中的任务(1)EventLoop启动 EventLoop初始化和启动多加一句eventLoopProcessTask(evLoop); 理由在后文提到!
呵呵哒( ̄▽ ̄)"1 年前
基于多反应堆的·高并发服务器·c/c++/reactor
基于多反应堆的高并发服务器【C/C++/Reactor】(中)主线程给子线程添加任务以及如何处理该任务在看此篇文章,建议先看我的往期文章:基于多反应堆的高并发服务器【C/C++/Reactor】(中)在EventLoop的任务队列中添加新任务-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135346492?spm=1001.2014.3001.5501一、了解socketpair函数(CodeGeex生成)
呵呵哒( ̄▽ ̄)"1 年前
dispatcher·基于多反应堆的·c/c++/reactor
基于多反应堆的高并发服务器【C/C++/Reactor】(中)Dispatcher模块的实现思路和定义(四)Dispatcher模块的实现思路关于dispatcher,它应该是反应堆模型里边的核心组成部分,因为如果说这个反应堆模型里边有事件需要处理,或者说有事件需要检测,那么是需要通过这个poll、epoll 或者 select来完成的。dispatcher有三个组成部分,它们并不是互相依存的,而是互斥的。就是我们在选择的时候,只能任选其一。不管使用哪一个,都可以往这个模型里边添加一个新的待检测事件,或者说把一个已经检测的事件从这个检测模型里边删掉。还有一种情况,就是把一个已经被检测得到文件描述符它的事件
呵呵哒( ̄▽ ̄)"1 年前
channelmap·channelmapinit·channelmapclear·基于多反应堆的·高并发服务器
基于多反应堆的高并发服务器【C/C++/Reactor】(中)ChannelMap 模块的实现(三)ChannelMap 模块的实现这个模块其实就是为Channel来服务的,前面讲了Channel这个结构体里边它封装了文件描述符。假如说我们得到了某一个文件描述符,需要基于这个文件描述符进行它对应的事件处理,那怎么办呢?我们就需要找到文件描述符对应的那个Channel,因为在这个Channel里边有事件对应的回调函数,只有找到Channel之后,我们才能够知道当读事件被触发了,或者说写事件被触发了。咱们调用的函数是什么呢?在C语言里,没有stl容器的,那如何实现一个对应关系呢?最简单的方式就是使用数