花费 71ms 找到471188条记录
Muduo网络源码分析(一) EventLoop事件循环PollerChannel 繁体
2016年04月04 - 从这一篇博文起,我们开始剖析Muduo网络源码,主要结合 Linux多线程服务端编程 和网上的一些学习资料 一 TCP网络编程的本质:三个半事件 . nbsp 连接的建立,包括服务端接受 accept 新连接和客户端成功发起 connect 连接。TCP 连接一旦建立,客户端和服务端是平等的,可以各自收发数据。 . nbsp 连接的断开,包括主动断开 close 或shutdown 和被动断开

muduo源码分析EventLoopChannelPoller的实现 繁体
2016年11月25 - 作者一直强调的一个概念叫做,撇开多线程不谈,本篇博文将学习,怎么将传统的I O复用封装到C 类中。 .I O复用复习使用进行I O复用的一些编程内容。使用poll对于一个文件描述符fd来说,我们将通过来设置我们关注的事件event,并在通过poll调用返回获取活跃的事件revent。比如说 伪代码 :struct pollfd pfds fd GET FD fd GET FD pfds .fd

muduo网络学习之EventLoop(一):事件循环类图简介和muduo 定时器TimeQueue 繁体
2013年11月07 - EventLoop Channel Poller 等类图如下:黑色菱形:组合 白色菱形:聚合 白色三角形:继承 实线:关联 Channel是selectable IO channel,负责注册与响应IO 事件,它不拥有file descriptor。Channel是Acceptor Connector EventLoop TimerQueue TcpConnection的成员。一个EventLo

muduo源码分析3——muduo事件循环分析 繁体
2018年06月04 - muduo事件循环分析 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp muduo网络网络I O模型为非阻塞reactor模式。使用linux的epoll或poll系统调用,轮寻多个socket,然后利用事先注册的事件句柄处理发生事件的套接字。 muduo中一个thread与一个EventLoop绑定,即 one loop per thread 模式,线程的主循

muduo源码分析---EventLoop 繁体
2014年03月27 - 现在暂时记住TcpConnection是TcpServer中Acceptor关注的监听套接字上accept新连接后被初始化的一个对象,接下来分析EventLoop nbsp nbsp nbsp nbsp 这个东西才是真正驱动的核心,是别的类 EpollPoller Acceptor 帮助他完成了的功能,看看内部是怎么实现的。EventLoop: nbsp nbsp nbsp nbsp 这个类

Muduo网络源码分析(三)线程间使用eventfd通信和EventLoop::runInLoop系列函数 繁体
2016年04月12 - 先说第一点,线程 进程 间通信有很多种方式 pipe,socketpair ,为什么这里选择eventfd eventfd 是一个比 pipe 更高效的线程间事件通知机制,一方面它比 pipe 少用一个 file descripor,节省了资源 另一方面,eventfd 的缓冲区管理也简单得多,全部 buffer 只有定长 bytes,不像 pipe 那样可能有不定长的真正 buffer。最重要的

muduo源码分析EventLoop::runInLoop()函数 繁体
2016年11月27 - 前面所学的一些内容,从最早的什么都不做的开始,到后面的定时器,功能不断在丰富,不过一直都是单线程下的。也就是说对象在主线程中进行事件循环。今天花了一天时间所学习的就打开muduo多线程编程的大门。 .eventfd唤醒线程先来看看这个eventfd的用法,直接上示例: include lt stdio.h gt include lt unistd.h gt include lt sys time

muduo阅读(35)——Net部分:用于执行事件循环EventLoop)的线程类EventLoopThread 繁体
2015年11月11 - 这个类专门创建一个线程用于执行Reactor的事件循环当然这只是一个辅助类,没有说一定要使用它,可以根据自己的情况进行选择你也可以不创建线程去执行事件循环,而在主线程中执行事件循环,一切根据自己的需要 用于执行Reactor EventLoop 循环的线程 namespace muduo namespace net class EventLoop class EventLoopThread : b

muduo网络之net源码分析(1) 繁体
2015年01月10 - lt TCP网络编程本质 gt TCP网络编程最本质是的处理三个半事件:连接建立:服务器accept 被动 接受连接,客户端connect 主动 发起连接连接断开:主动断开 close shutdown ,被动断开 read返回 消息到达:文件描述符可读消息发送完毕:这算半个。对于低流量的服务,可不必关心这个事件 这里的发送完毕是指数据写入操作系统缓冲区 如果数据全部填到了内核缓冲区那么调用回掉

Muduo网络源码分析之TcpConnection Class 繁体
2018年01月17 - 用于管理一个具体的 TCP 连接,比如消息的接收与发送,完成用户指定的连接回调 。 构造时接收参数有 TCP 连接的 sockfd,服务端地址 ,客户端地址 ,并通过 Socket 封装 。并用 Channel 管理该 sockfd,向 Channel 注册可读 可写 关闭 出错回调函数,用于 Poller 返回就绪事件后 执行相应事件的回调。 TcpConnection 有四个状态,简单的状态


 
粤ICP备14056181号  © 2014-2020 ITdaan.com