E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Muduo
Linux多线程服务端编程:使用
muduo
C++网络库 学习笔记 第八章
muduo
网络库设计与实现(下)
TimerQueue::cancel()8.2实现的TimerQueue不能注销定时器,本节补充这一功能。TimerQueue::cancel()的一种简单实现是用shared_ptr来管理Timer对象,再将TimerrId定义为weak_ptr,这样几乎不用我们做什么事情。在C++11中应该也足够高效,因为shared_ptr具备移动语义,可以做到引用计数值始终不变,没有原子操作的开销。但用s
吃着火锅x唱着歌
·
2023-12-23 14:26
C++网络库
linux
c++
网络
Linux多线程服务端编程:使用
muduo
C++网络库 学习笔记 第九章 分布式系统工程实践(上)
本章谈的分布式系统是指运行在公司防火墙以内的信息基础设施(infrastructure),用于对外(客户)提供联机信息服务,不是针对公司员工的办公自动化系统。服务器的硬件平台是多核Intelx86-64处理器、几十GB内存、千兆网互联、常规存储、运行Linux操作系统。系统的规模大约在几十台到几百台,可以位于一个机房,也可以位于全球的多个数据中心。只有两台机器的双机容错(热备)系统不是本章的讨论范
吃着火锅x唱着歌
·
2023-12-23 14:25
C++网络库
linux
网络
学习
游戏服务器读书清单
:开发环境:Linux鸟哥的私房菜I,II李明Linux视频教程编程:Unix高级环境编程Unix网络编程I,IILinux程序设计第四版高性能Linux服务器编程(游双)Linux多线程服务器编程(
muduo
呆呆国王
·
2023-12-21 19:27
Muduo
(C++11版本) 源码剖析(四)———Channel设计
Channel扮演了一个IO事件分发器的作用。主要有两个地方,一个是Acceptor中的Channel,主要处理连接事件,另外每个TcpConnection类中会有一个Channel,检测fd的刻可读,关闭,错误消息,触发相应的回调函数。生命周期由Acceptor和TcpConnection控制。成员变量:private:staticconstintkNoneEvent;staticconstin
苏州-青蛙
·
2023-12-20 22:12
c++
Muduo网络库剖析
github代码大纲
sworsman31415926/
muduo
:Event-drivennetworklibraryformulti-threadedLinuxserverinC++11(github.com)sworsman31415926
感知算法工程师
·
2023-12-14 22:58
c++
linux
muduo
编译安装,Linux平台下
muduo
网络库的源码编译安装
参考博文:http://www.luyixian.cn/news_show_37203.aspx
muduo
库是基于boost开发的,所以需要先在Linux平台上安装boost库,安装过程参考我的另一篇博客
老铁爱金衫
·
2023-11-25 01:00
linux
muduo
编译安装
libevent、libev、libuv、libhv、boost.asio、poco、
muduo
七种echo-server实现对比
https://github.com/ithewei/libhv/tree/master/echo-servers中包含libevent、libev、libuv、libhv、boost.asio、poco、
muduo
u013250861
·
2023-11-25 01:59
#
Linux/网络编程
#
C++/Web服务器
服务器
centos
Arm64版本的centos编译
muduo
库遇到的问题的归纳
release-DCMAKE_INSTALL_PREFIX=…/release-install-cpp11-DCMAKE_EXPORT_COMPILE_COMMANDS=ON/root/package/
muduo
-master–Boostversi
FuzhouJiang
·
2023-11-25 00:53
Muduo
centos
linux
c++
书籍、视频、GiteeGitHub项目
+Primer、EffectiveC++、MoreEffectiveC++、STL源码剖析、深度探索C++模型服务器:TCP/IP网络编程、Linux高性能服务端编程、Linux多线程服务端编程:使用
muduo
C
君莫vv
·
2023-11-20 23:57
书籍及视频
音视频
c语言
开发语言
C++ 类的前置声明
最近在仿照
muduo
的网络库源代码写自己的网络服务器,当初想着整个项目分模块去写,最后再和主程序链接,正好升入理解一下编译链接的过程,但是现在发现每个模块的内容其实也不是很多,实际上没有必要分模块去写。
正义的伙伴啊
·
2023-11-19 16:09
c++
开发语言
muduo
31 timer定时器模块
目录
muduo
中定时器模块的特点
muduo
中的定时器系统
muduo
中定时器实现的逻辑:Timer类TimerQueue类使用timerfd实现定时功能timer_createtimerfd_settime
陈岂几真幸运
·
2023-11-19 08:28
重写Muduo网络库项目
linux
服务器
muduo
源码剖析之TcpServer服务端
服务端封装-
muduo
的server端维护了多个tcpconnection注意TcpServer本身不带Channel,而是使用Acceptor的Channel成员及属性解析主要接口回调sette
@新法
·
2023-11-18 18:53
muduo源码剖析
c++
linux
muduo
源码剖析
网络编程
服务端
后端
muduo
源码剖析之TcpConnection连接管理
简介TcpConnection用于管理一个具体的TCP连接,比如消息的接收与发送,完成用户指定的连接回调connectionCallback。TcpConnection有四个状态,简单的状态图:成员及属性解析主要接口send发送数据的主要接口,最终通过内部实现在runInLoop中发送数据回调setterconnectionEstablished当连接建立时,应当只执行一次将自身的shared_f
@新法
·
2023-11-18 18:52
muduo源码剖析
c++
服务器
后端
muduo
源码剖析
网络
基于
muduo
与nginx实现的网络集群聊天服务器系统
01Vscode远程连接Linux主机Ping通虚拟机的前提:1.NAT模式下,需要对应网络的设置和外面的设置一样IP、网关、子网掩码Linux:ubuntu18.0402Json安装Json第三方库thirdparty进行序列化和反序列化测试testjsonmsg_type:2//消息类型(登录消息、注册消息、添加好友、添加群聊、好友聊天、群组聊天)from:xxx//来自哪里to:xxx//发
-特立独行的猪-
·
2023-11-13 00:51
#
后端分布式系统架构设计
服务器
muduo
源码剖析之Connector客户端连接类
简介Connector负责主动发起连接,不负责创建socket,只负责连接的建立,外部调用Connector::start就可以发起连接,Connector具有重连的功能和停止连接的功能,连接成功建立后返回到TcpClient。主要成员及属性解析主要接口setNewConnectionCallback设置TcpClient交给的回调函数start最后通过loop的runInLoop调用调用conn
@新法
·
2023-11-10 03:45
muduo源码剖析
c++
网络
服务器
后端
muduo
源码剖析
muduo
_net代码剖析之TcpServer
引言上文,我们知道类Acceptor主要功能socket、bind、listen,并调用注册的回调函数来处理新到的连接。一般来说,在上层应用程序中,很少直接使用Acceptor作为服务器程序,而是把Acceptor作为TcpServer的成员属性先看下TcpServer连接建立/处理的时序图1:当loop()函数监听到通道acceptChannel_有事件到来,即listen套接字可读时2:acc
粪逗er
·
2023-11-10 03:44
Muduo库源码剖析
muduo
网络库学习总结:基本架构及流程分析
muduo
网络库学习:基本架构及流程分析基本架构BasicReactorMutipleReactor+ThreadPool
muduo
库的基本使用基本结构介绍EventLoop类Poller类Channel
moumde
·
2023-11-10 03:11
epoll
网络
muduo
c++
383-
muduo
网络库编程
muduo
网络库编程
muduo
网络库的底层就是epoll加linux的pthread线程库。所以
muduo
库只能装在linux环境中。
muduo
网络库的安装见我的另外一篇博客就可以。
林林林ZEYU
·
2023-11-10 03:38
C++实现校园集群聊天服务器
网络
linux
多线程
muduo
库的Connector以及TcpClient的使用
一:ConnectorConnector可以说是
muduo
库的连接器,负责客户端向服务器发起连接。实际上说白了就是封装了socket的connect操作。
FreeeLinux
·
2023-11-10 03:08
Muduo源码剖析
muduo源码剖析
muduo库TcpClient
muduo库Connector
muduo源码剖析
182-
muduo
网络库(陈硕)编程
1、
muduo
网络库编程
muduo
网络库的底层就是epoll加linux的pthread线程库。所以
muduo
库只能装在linux环境中。
liufeng2023
·
2023-11-10 03:38
重写C++muduo库
网络
服务器
linux
muduo
源码剖析之TcpClient客户端类
简介
muduo
用TcpClient发起连接,TcpClient有一个Connector连接器,TCPClient使用Conneccor发起连接,连接建立成功后,用socket创建TcpConnection
@新法
·
2023-11-10 03:06
muduo源码剖析
服务器
后端
c++
muduo
linux
源码剖析
网络编程
C++11绑定器bind及function机制
Python量化交易实战入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统前言之前在学
muduo
网络库时,看到陈硕以基于对象编程的方式,大量使用boost库中的bind和function机制
虚幻私塾
·
2023-11-09 07:54
python
计算机
muduo
源码剖析之TimerQueue类
timerfd实现的定时器功能,为EventLoop扩展了一系列runAt,runEvery,runEvery等函数TimerQueue中通过std::set维护所有的Timer,也可以使用优先队列实现
muduo
@新法
·
2023-11-09 07:05
muduo源码剖析
服务器
c语言
后端
linux
muduo
timer
源码剖析
muduo
源码剖析之Timer定时器
简介Timer类是
muduo
网络库中的一个定时器类,用于在指定的时间间隔后执行某个任务。Timer类提供了一系列的方法来创建、启动、停止和删除定时器,以及设置定时器的时间间隔和回调函数等。
@新法
·
2023-11-08 00:33
muduo源码剖析
linux
服务器
后端
c语言
muduo
源码剖析
定时器
muduo
源码剖析之InetAddress
InetAddressInetAddress类是
muduo
网络库中的一个重要类,用于表示网络中的IP地址和端口号。
@新法
·
2023-11-08 00:18
muduo源码剖析
c++
服务器
后端
muduo
源码剖析
【
muduo
源码剖析】Buffer类的设计
文章目录为什么要有缓冲区的设计Buffer缓冲区设计Buffer基本成员读写数据时对Buffer的操作向Buffer写入数据:readFd空间不够怎么办?从Buffer中读取数据TcpConnection使用BufferTcpConnection接收客户端数据(从客户端sock读取数据到inputBuffer)TcpConnection向客户端发送数据(将ouputBuffer数据输出到socke
Last-Week
·
2023-11-07 07:31
muduo源码解析
网络
网络协议
muduo
服务器
muduo
源码剖析之Socket类
//http://code.google.com/p/
muduo
/////UseofthissourcecodeisgovernedbyaBSD-stylelicense//thatcanbefoundintheLicensefile
@新法
·
2023-11-07 07:31
muduo源码剖析
muduo
后端
服务器
linux
c语言
c++
源码剖析
【
muduo
源码剖析】Thread/ThreadPool源码解析
EventLoopThreadPool重要成员线程池中简单的负载均衡EventLoopThread详解EventLoopThread重要变量开启事件循环的细节Thread::start()真正开始创建线程前言参考
muduo
Last-Week
·
2023-11-07 07:01
muduo源码解析
c++
linux
后端
服务器
muduo
【
muduo
源码剖析】Channel设计分析
关注的事件移除操作用于增加TcpConnection生命周期的tie方法(防止用户误删操作)根据相应事件执行Channel保存的回调函数完整代码Channel.hChannel.cc参考什么是Channel参考
muduo
Last-Week
·
2023-11-07 07:31
muduo源码解析
网络
c++
linux
后端
muduo
【
muduo
源码剖析】Poller/EPollPoller设计分析
文章目录
muduo
是怎么实现I/O复用的基类Poller的设计newDefaultPollerEPollPoller类设计成员函数返回发生事件的poll方法填写活跃的连接fillActiveChannels
Last-Week
·
2023-11-07 07:31
muduo源码解析
后端
linux
c++
muduo
源码剖析
Muduo
源码剖析笔记
muduo
-note.md·Scut-Corgis/
Muduo
源码剖析笔记-码云-开源中国(gitee.com)
Scut-Corgis
·
2023-11-07 07:30
c++
muduo
源码剖析--Buffer
Buffer类Buffer类是自定义处理数据输入缓冲的类,底层是vector,通过readIdx和writeIdx将缓冲区分为3个部分,第一部分是预留的8字节+已经读出的缓冲区字节数、第二部分是还未读出的部分、第三部分是可写的部分。Buffer类的设计是TcpConnection类设计的核心,一个TcpConnection必须有一个inputBuffer和一个outputBuffer。必须存在in
godaa
·
2023-11-07 07:55
muduo
c++
muduo网络库
多线程
socket
muduo
源码剖析--EventLoop类
EventLoop类Reactor模式的实现类,连通Channel类和Poller类的桥梁,也是上层注册和回调的实际调用类。//事件循环类主要包含了两个大模块ChannelPoller(epoll的抽象)classEventLoop:noncopyable{public:usingFunctor=std::function;EventLoop();~EventLoop();//开启事件循环void
godaa
·
2023-11-07 07:55
muduo
c++
多线程
muduo网络库
socket
muduo
源码剖析--Channel类
Channel类剖析channel在
muduo
中是对文件描述符的一种底层封装,具体而言是封装了对某个文件描述符的读写事件、错误事件、关闭事件的回调,并主要与EventLoop类进行交互,而EventLoop
godaa
·
2023-11-07 07:25
muduo
c++
多线程
muduo网络库
socket
muduo
源码剖析--Poller/EpollPoller
Poller类Poller是EpollPoller和poll的基类实现,是一个虚基类,主要封装了IO多路复用的核心接口//
muduo
库中多路事件分发器的核心IO复用模块classPoller{public
godaa
·
2023-11-07 07:25
muduo
多线程
muduo网络库
socket
c++
muduo
源码剖析 - TcpConnection
说明1.TcpConnection封装了连接socket和他的不同事件的回调,以及两个缓冲区。一个TcpConnection只能由一个EventLoop管理.具体由哪个loop管理由TcpServer轮询IO线程池给分配一个。2.enable_shared_from_this,把当前对象转换成share指针,全局使用的都是它的智能指针。3.在连接到来,创建一个TcpConnection对象,立刻使
YanWenCheng_
·
2023-11-07 07:53
muduo
c++
后端
服务器
muduo
源码剖析 - worker线程池剖析
1、ThreadPool的成员变量:/*我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。*/mutableMutexLockmutex_;ConditionnotEmpty_GUARDED_BY(mutex_);//GUARDED_BY
YanWenCheng_
·
2023-11-07 07:22
muduo
c++
后端
muduo
源码剖析之SocketOps类
//http://code.google.com/p/
muduo
/////UseofthissourcecodeisgovernedbyaBSD-stylelicense//thatcanbefoundintheLicensefile
@新法
·
2023-11-07 07:21
muduo源码剖析
c语言
服务器
后端
c++
muduo
源码剖析
网络编程
Linux多线程服务端编程:使用
muduo
C++网络库 学习笔记 第七章
muduo
编程示例(上)
本章将介绍如何用
muduo
网络库完成常见的TCP网络编程任务。内容如下:1.[UNP]中的五个简单协议,包括echo、daytime、time、discard、chargen等。
吃着火锅x唱着歌
·
2023-11-04 13:43
C++网络库
linux
c++
网络
libevent,zeromq,和
muduo
三个网络库进行对比分析
本文将libevent,zeromq,和
muduo
三个网络库进行对比分析:libevent:1.数组定义TAILQ_HEAD和TAILQ_ENTRY:#defineTAILQ_HEAD(name,type
SkyLifer
·
2023-11-02 05:49
网络库学习
libevent
zeromq
muduo
网络库
cpp
Linux多线程服务端编程:使用
muduo
C++网络库 学习笔记 第五章 高效的多线程日志
“日志(logging)”有两个意思:1.诊断日志(diagnosticlog)。即log4j、logback、slf4j、glog、g2log、log4cxx、log4cpp、log4cplus、Pantheios、ezlogger等常用日志库提供的日志功能。2.交易日志(trasactionlog)。即数据库的write-aheadlog、文件系统的journaling等,用于记录状态变更,通
吃着火锅x唱着歌
·
2023-11-01 17:21
C++网络库
linux
c++
网络
Linux多线程服务端编程:使用
muduo
C++网络库 学习笔记 第四章 C++多线程系统编程精要
学习多线程编程面临的最大思维方式的转变有两点:1.当前线程可能随时会被切换出去,或者说被抢占(preempt)了。2.多线程程序中事件的发生顺序不再有全局统一的先后关系了。当线程被切换回来继续执行下一条语句(指令)的时候,全局数据(包括当前进程在操作系统内核中的状态)可能已经被其他线程修改了。例如,在没有为指针p加锁的情况下,if(p&&p->next){/*...*/}有可能导致segfault
吃着火锅x唱着歌
·
2023-11-01 17:20
C++网络库
linux
c++
网络
Linux多线程服务端编程:使用
muduo
C++网络库 学习笔记 第六章
muduo
网络库简介
2010年3月作者写了一篇《学之者生,用之者死——ACE历史与简评》(http://blog.csdn.net/Solstice/archive/2010/03/10/5364096.aspx,ACE是(AdaptiveCommunicationEnvironment)是一个C++编写的开源框架,用于开发高性能、可伸缩、分布式系统的网络应用),其中提到了作者心目中理想的网络库的样子:1.线程安全,
吃着火锅x唱着歌
·
2023-11-01 17:11
C++网络库
linux
c++
网络
muduo
源码剖析之Buffer缓冲区类
//http://code.google.com/p/
muduo
/////Useofthissourcecodeisgover
@新法
·
2023-10-29 22:12
muduo源码剖析
网络
c语言
服务器
后端
c++
muduo
缓冲区
muduo
源码剖析之Acceptor监听类
简介Acceptor类用于创建套接字,设置套接字选项,调用socket()->bind()->listen()->accept()函数,接受连接,然后调用TcpServer设置的connect事件的回调。listen()//在TcpServer::start中调用封装了一个listenfd相关的操作,用于mainLoop成员及属性解析Acceptor-逻辑上的内部类接受器封装,实质上就是对Chan
@新法
·
2023-10-29 22:04
muduo源码剖析
网络
服务器
c语言
后端
linux
muduo
网络编程
Linux C++ 服务器端这条线怎么走?一年半能做出什么?
添加评论分享按投票排序按时间排序22个回答2453赞同反对,不会显示你的姓名陈硕,LinuxC++程序员,
muduo
网络库作
yazhouren
·
2023-10-28 04:13
CloudServer
muduo
源码剖析之poller/EpollPoller多路复用类
简介poller是I/O多路复用接口抽象虚基类,对I/O多路复用API的封装,
muduo
提供了EPollPoller和PollPoller派生类(epoll和poll),所以不支持select.newDefaultPoller
@新法
·
2023-10-26 20:51
muduo源码剖析
后端
服务器
linux
c语言
c++
muduo
源码剖析
muduo
网络库——日志处理
测试程序#include"
muduo
/base/AsyncLogging.h"#include"
muduo
/base/Logging.h"#include"
muduo
/base/Timestamp.h"
却道天凉_好个秋
·
2023-10-25 02:31
muduo
c++
muduo
log
muduo
异步日志实现
目录一、日志级别与格式二、日志的目的地三、多线程异步日志实现(1)特点(2)具体实现
muduo
是陈硕个人使用C++开发的一款网络库,代码写的很有学习价值,总结的内容来自书籍《Linux多线程服务器端编程
yolo_yyh
·
2023-10-25 02:31
网络库
logging
Muduo
日志模块详解
Muduo
日志模块解析图片取自
muduo
网络库源码解析(1):多线程异步日志库(上)_李兆龙的技术博客_51CTO博客也是很好的日志讲解博客,这篇讲解流程基本上和它差不多,并且写的比我条理清楚很多AppendFile
小白书舍
·
2023-10-25 02:01
c++
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他