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源代码分析
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
源码剖析
网络编程
SAST——Checkmarx静态检测工具收集(2)
是一个独特的
源代码分析
解决方案,该工具可用于识别、跟踪和修复源
manok
·
2023-11-04 16:10
软件安全
代码安全
安全性测试
代码安全
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++
网络
ST电机库v5.4.4
源代码分析
(6): PID以及相关参数
编者:沉尸(
[email protected]
)前言:本文章探索st电机库自动生成的PID参数的由来,采用的控制板为野火407电机板+BLDC带Hall的电机。在“Mcboot()”函数中初始化变量“PIDSpeedHandle_M1”将“pPIDSpeed[M1]”指针值(实际指向“PIDSpeedHandle_M1”)作为速度环PID整定的相关参数我们来看代码中速度环整定的调用层次:所以,是在“中等
stonechan02
·
2023-10-30 17:49
ST电机库
机器人
开源软件
stm32
ST电机库v5.4.4
源代码分析
(5): 每个扇区里面如何选择采样哪二相电流
编者:沉尸(
[email protected]
)问题的提出:1)ST电机库中电流采样的实现2)每个电角度周期,共跨越6个sector,STM32F407中有两个ADC(ADC1和ADC2),所以在同一个时刻,可以采样UVW三路中的二路(另一路可以推导出来),这些电流值带着符号,那么:源码中每个sector采集哪二路呢?一)针对电流采样的ADC触发的软件流程描述stm32f407中TIM1的ch1~ch3
stonechan02
·
2023-10-30 17:19
ST电机库
stm32
机器人
开源软件
ST电机库v5.4.4
源代码分析
(4): 电角度和力矩方向分析(Hall传感器)
编者:沉尸(
[email protected]
)一)ST马达库中角度的定义引言:在Clerke以及park等变换中,我们都涉及到了角度,本文中我们结合ST的源代码探讨一下角度的取得以及它和力矩的关系问题。首先回顾《马达控制之FOC原理》一文中的的数学模型https://blog.csdn.net/danger/article/details/128214441三相电流中Ia达到幅值的最高峰时,它的反电动
stonechan02
·
2023-10-30 17:18
ST电机库
机器人
开源软件
stm32
ST电机库v5.4.4
源代码分析
(3): α、β方向的电流值与三相PWM 波形的联系
编者:沉尸(
[email protected]
)引言:我们通过一系列的运算最后通过反park计算出了α、β方向的电流,那么如何将这两个电流值换算成pwm控制duty的实际参数呢?本文结合ST电机库中的源代码,生成源代码的电路板采用的是野火公司的407电机控制板。为了让整个控制流程的脉络更加清晰,这里贴出调用的框架代码:原理上请首先阅读我的博文:https://blog.csdn.net/danger/a
stonechan02
·
2023-10-30 17:18
ST电机库
开源软件
机器人
stm32
ST电机库v5.4.4
源代码分析
(2): 磁链圆限制之计算以及一个小bug
编者:沉尸(
[email protected]
)FOC流程图Circle_Limitation所在位置图1图2现在计算出了和,需要限制:如果显然需要一个缩小的系数i(i<1)进行校正这个开根号的计算对于一般单片机来说,运算还是很耗时的,所以这里要采取牺牲精度的快速查表计算方式。下面的内容结合ST的电机库5.4.4中的源码进行说明结合上图2中所示S16_MAX=32767(S16_MAX是16位有符号数之
stonechan02
·
2023-10-30 17:48
ST电机库
机器人
开源软件
ST电机库v5.4.4
源代码分析
(1): FOC原理(结合ST电机库)
编者:沉尸(
[email protected]
)本文字描述电机FOC的原理性内容,大部分取材于网络,但是我对于某些细节进行了比较详细的描述。因为很多最初的出处链接没有记录下来,所以没有标明,忘谅解!本文字不会用于任何商业行为!第一章电流分析设计目标:电流流经三个绕组会产生磁场,我们希望这个磁场的“合力”拉着转子做连续的圆圈运动,且大小可控。显然这个合成的磁场方向和转子的南北极方向垂直时产生的力矩最大。根
stonechan02
·
2023-10-30 17:12
ST电机库
人工智能
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
网络编程
kcp 介绍与
源代码分析
_kcp-go源码解析
概念ARQ:自动重传请求(AutomaticRepeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协议之一.RTO:RetransmissionTimeOutFEC:ForwardErrorCorrectionkcp简介kcp是一个基于udp实现快速、可靠、向前纠错的的协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低30%-40%,且最大延迟降低三倍的传输效果。
weixin_39591720
·
2023-10-28 20:50
kcp
介绍与源代码分析
kcp 介绍与
源代码分析
_KCP-GO源码解析
原标题:KCP-GO源码解析原文作者:张伯雨golang技术社区概念ARQ:自动重传请求(AutomaticRepeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协议之一.RTO:RetransmissionTimeOutFEC:ForwardErrorCorrectionkcp简介kcp是一个基于udp实现快速、可靠、向前纠错的的协议,能以比TCP浪费10%-20%的带宽的代价
weixin_39550937
·
2023-10-28 20:49
kcp
介绍与源代码分析
Linux C++ 服务器端这条线怎么走?一年半能做出什么?
添加评论分享按投票排序按时间排序22个回答2453赞同反对,不会显示你的姓名陈硕,LinuxC++程序员,
muduo
网络库作
yazhouren
·
2023-10-28 04:13
CloudServer
React Native
源代码分析
--Android客户端启动流程(从JS到Java)
上一篇文章讲到启动过程中,最终Java层调用了JS层的AppRegistry.js的runApplication()方法来进行JS层的启动工作。我们看一下runApplication()的整个调用过程:runApplication()->require('ReactNative').render(renderable,rootTag);->ReactNativeRenderer-dev.rende
huangjun0
·
2023-10-28 03:02
SpringCloudGateway 入门
的负载均衡三、核心概念详细3.1断言Predicate3.2过滤器3.2.1内置过滤器3.2.2自定义过滤器构造器(原理)资源结构Route/Predicate的构造器构造器的增强器整体协同关系/部分
源代码分析
扩展自己的过滤器
Love Orange
·
2023-10-27 20:16
分布式
java
开发语言
gateway
springcloud
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
源码剖析
gwt-smalljava开发发布
webdw.vicp.net/gwt-smalljavaDemo页面上有两个操作按钮,第一个按钮将
源代码分析
成一个标准的ast,抽象语法树,第二个按钮则按照Java语法对一个抽象语法树进行求解。
webdw
·
2023-10-26 03:32
103-104_容器_JDK
源代码分析
_自己实现LinkedList
publicclassMyLinkedList/*implementsList*/{classNode{Nodeprevious;Objectobj;Nodenext;}privateNodefirst;privateNodelast;privateintsize;publicintsize(){returnsize;}//索引越界检测privatevoidrangeCheck(intindex)
werdzs
·
2023-10-25 17:51
Java基础
List
linkedlist
源代码
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++
muduo
异步日志库
文章目录一、日志库模型1.前端参考一、日志库模型组成部分
muduo
日志库由前端和后端组成。
muduo
日志库是异步高性能日志库,其性能开销大约是前端每写一条日志消息耗时1.0us~1.6us。
喜欢打篮球的普通人
·
2023-10-25 02:23
开源代码学习
c++
muduo
源码剖析之EventLoopThread
简介EventLoopThread类包装了一个thread类和一个EventLoop类,(oneloopperthread)是封装了一个EventLoop的独立线程主要成员及属性解析意为I/O线程类,EventLoopThread可以创建一个IO线程,通过startLoop返回一个IO线程的loop,threadFunc中开启loop循环,源码剖析这个类比较简单,代码都写了注释,不多说EventL
@新法
·
2023-10-25 01:07
muduo源码剖析
1024程序员节
服务器
后端
c++
c语言
linux
muduo
muduo
源码剖析之EventLoopThreadPool
简介EventLoopThreadPool是EventLoopThread类的线程池类封装了若干个EventLoopThread的线程池,所有者是一个外部的EventLoopEventLoopThreadPool==EventLoopThread+vector主要成员及属性解析通过调用start函数来newEventLoopThread创建对应的线程和其loop,并将创建的保存在vector中源码
@新法
·
2023-10-25 01:57
muduo源码剖析
1024程序员节
linux
服务器
后端
c语言
网络编程
muduo
Linux多线程服务端编程 使用
muduo
C++网络库 学习笔记 日志log
代码来自陈硕开源代码库
muduo
中地址是https://github.com/chenshuo/
muduo
#pragmaonce#include#defineNAMESPACE(X)namespaceX
weixin_30460489
·
2023-10-25 00:54
Linux多线程服务端编程:使用
muduo
C++网络库 学习笔记 第一章 线程安全的对象生命期管理
编写线程安全的类不是难事,用同步原语(synchronizationprimitives)保护内部状态即可。但对象的生与死不能由对象自身拥有的mutex(互斥器)来保护。如何避免对象析构时可能存在的racecondition(竞态条件)是C++多线程编程面临的基本问题,可以借助Boost库的shared_ptr和weak_ptr完美解决,这也是实现线程安全的Observer模式(观察者模式,它是一
吃着火锅x唱着歌
·
2023-10-25 00:54
C++网络库
linux
c++
学习
muduo
库学习之C++多线程系统编程精要07——多线程与 fork、多线程与signal
东阳的学习笔记1.多线程与fork多线程与fork()的协作性很差。这是POSIX系列操作系统的历史包袱。1.1fork一般不能在多线程程序中使用因为Linux的fork()只克隆当前线程的threadofcontrol,不克隆其他线程。fork()之后,除了当前线程之外的所有线程都消失了。forkall()是很难办到的。因为其他线程可能等在conditionvariable上面,可能阻塞在系统调
东阳z
·
2023-10-25 00:51
muduo网络库
读书笔记|Linux多线程服务端编程1:从《C++ Primer》入手学习C++
更多参见:《Linux多线程服务端编程--使用
muduo
C++网络库》读书笔记写在前面的话,这只是入门学习C++的学习经验。
haimianjie2012
·
2023-10-25 00:50
读书与写作
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
其他