mini-muduo版本传送门
version 0.00 从epoll构建muduo-1 mini-muduo介绍
version 0.01 从epoll构建muduo-2 最简单的epoll
version 0.02 从epoll构建muduo-3 加入第一个类,顺便介绍reactor
version 0.03 从epoll构建muduo-4 加入Channel
version 0.04 从epoll构建muduo-5 加入Acceptor和TcpConnection
version 0.05 从epoll构建muduo-6 加入EventLoop和Epoll
version 0.06 从epoll构建muduo-7 加入IMuduoUser
version 0.07 从epoll构建muduo-8 加入发送缓冲区和接收缓冲区
version 0.08 从epoll构建muduo-9 加入onWriteComplate回调和Buffer
version 0.09 从epoll构建muduo-10 Timer定时器
version 0.11
相关推荐
从epoll构建muduo-2 最简单的epoll
mini-muduo v 0.01版本,这是mini-muduo的第一个版本,整个程序是一个100行的epoll示例 下面粘贴的代码省略了头文件引用,完整可运行的示例可从github下载,使用命令git checkout v0.01可切换到此版本,在线浏览到这里 #define MAX_LINE 100 #define MAX_EVENTS 500 #define MAX_LISTENFD
muduo网络库源码解析 六
本章节我们来解析Buffer类(应用层缓冲区)的设计以及TcpConnection接收和发送数据。 我们首先来回顾一下muduo的IO模型:one loop per thread + IO multiplexing event loop是non-blocking网络编程的核心,而non-blocking几乎总是和IO multiplexing一起使用: (1)没有人真的会使用轮询来检查某个n
从epoll构建muduo-12 多线程入场
多线程代码被加入到mini-muduo,本篇主要介绍Linux多线程编程的5个类 1 Mutex 2 Condition 3 BlockingQueue 4 Thread 5 ThreadPool
muduo::TcpConnection分析
muduo::TcpConnection分析
muduo编程示例2019-11-02
图片发自简书App //discard 长连接应用层协议,关注:消息/数据到达事件。 void DiscardServer::onMessage(const TcpConnectionPtr& conn, Buffer* buf, ...
muduo源码剖析 - TcpConnection
muduo源码剖析
muduo例子学习笔记1
1.五个简单TCP协议1)discard--丢弃所有收到的数据#include "discard.h" #include <muduo/base/Logging.h> #include <muduo/net/EventLoop.h> using namespace muduo; using namespace muduo::net; int main(...
Muduo分析及总结(六)TcpConnection
一、类关系图 首先看TcpConnection在整个Muduo结构中的关系,如下图 图1 TcpConnection是整个网络库的核心,封装一次Tcp连接,注意它不能发起连接。 TcpServer和TcpClient都用到了TcpConnection。 二、源码分析 TcpConnection.h 在这里插入代码片 三、关键点总结 四、发送接收数据流程 ...
Muduo 多线程模型:一个 Sudoku 服务器演变
陈硕 (giantchen AT gmail)blog.csdn.net/SolsticeMuduo 全系列文章列表: http://blog.csdn.net/Solstice/category/779646.aspx本文以一个 Sudoku Solver 为例,回顾了并发网络服务程序的多种设计方案,并介绍了使用 muduo 网络库编写多线程服务器的两种最常用手法。以往的例子展现了
RST与epoll的EPOLLHUP事件
当socket的一端认为对方发来了一个不存在的4元组请求的时候,会回复一个RST响应,在epoll上会响应为EPOLLHUP事件,目前我已知的两种情况会发响应RST [1] 当客户端向一个没有在listen的服务器端口发送的connect的时候 服务器会返回一个RST 因为服务器根本不知道这个4元组的存在 [2] 当已经建立好连接的一对客户端和服务器,客户端突然操作系统崩溃,或者拔掉
从epoll构建muduo-3 加入第一个类,顺便介绍reactor
mini-muduo v 0.02版本,这个版本添加的内容非常少,完整可运行的示例可从github下载,使用命令git checkout v0.02可切换到此版本,在线浏览到这里 #include "TcpServer.h" int main(int args, char** argv) { TcpServer tcpserver; tcpserver.start();
从epoll构建muduo-4 加入Channel
mini-muduo v 0.03版本,这是个版本最重要的修改是加入了一个名为Channel的类。完整可运行的示例可从github下载,使用命令git checkout v0.03可切换到此版本,在线浏览此版本到这里 介绍一下Channel类,先看其声明,这里特别要注意_events和_revents,前者是要关注的事件,后者是发生的事件,不仔细看容易混淆。名字的来源是poll(2)的struc
tcpdump重要笔记
关于tcpdump的重要笔记,无关痛痒的参数就不写了。只说一些我认为值得注意的
从epoll构建muduo-6 加入EventLoop和Epoll
mini-muduo v0.05版本,完整可运行的示例可从github下载,使用命令git checkout v0.05可切换到此版本,在线浏览此版本到这里 本版将程序的主要类都加入进来了,这个版本可以作为一个里程碑版本,最重要的修改是加入了两个类EventLoop和Epoll。加入这两个类后,程序代码逻辑就相对清晰多了。为了有个更直观的了解,我们对照之前介绍的最简单epoll示例(从epoll构
从epoll构建muduo-11 单线程Reactor网络模型成型
mini-muduo v0.10版本,修整代码版本。mini-muduo完整可运行的示例可从github下载,使用命令git checkout v0.10可切换到此版本,在线浏览此版本到这里。 这个版本的改动不大,主要修改了命名规范问题,借着这个版本重点分析一下muduo里的三个文件描述符。
从epoll构建muduo-8 加入发送缓冲区和接收缓冲区
mini-muduo v0.07版本,这个版本是加入了发送缓冲区和接收缓冲区的初始版本,后续v0.08完善了缓冲区的实现。mini-muduo完整可运行的示例可从github下载,使用命令git checkout v0.07可切换到此版本,在线浏览此版本到这里 1 为什么要有发送缓冲区和接收缓冲区,muduo作者已经在>节中详细介绍过了。建议有条件的同学直接看书。我觉得这部分知识非常重要所以
从epoll构建muduo-5 加入Acceptor和TcpConnection
mini-muduo v0.04版本,这是个版本最重要的修改是加入了两个类Acceptor和TcpConnection。完整可运行的示例可从github下载,使用命令git checkout v0.04可切换到此版本,在线浏览此版本到这里 1 回顾下v0.03版本,所有的socket事件都是在TcpServer::OnIn(命名不规范后续会改动)里处理的,包括接受新连接和读写数据,那实在是没
Socket连接出错总结
下面7种情况是我认为最容易出现的TCP/IP连接错误。 [1] kill pid/应用崩溃/正常关机 这几种情况下操作系统会正常将连接关闭,主动发送FIN完成4次分组交换 [2] 操作系统崩溃/机器断电 两种情况 1 如本端不再启动则不会有任何响应到对端,对端会执行[6]的超时重传重过程 2 如果机器后来又启动了,则会在对端写时返回RST
6170




被折叠的 条评论
为什么被折叠?



