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源代码分析
rtmpdump
源代码分析
------HandShake
HandShake的流程图:1:握手以客户端发送C0和C1块开始。2:客户端必须等待接收到S1才能发送C2。3:客户端必须等待接收到S2才能发送任何其他数据。4:服务器端必须等待接收到C0才能发送S0和S1,也可以等待接收到C1再发送S0和S1。服务器端必须等待接收到C1才能发送S2。服务器端必须等待接收到C2才能发送任何其他数据。C0和S0的格式C0和S0包都是一个单一的八位字节,以一个单独的八
alen_xie
·
2020-08-18 18:59
流媒体传输协议分析
muduo
安装
muduo
安装安装前的准备编译安装安装前的准备由于组里的服务器是多人共用,为了排除宿主机环境对
muduo
的影响以及root权限的获取,选择在docker进行
muduo
的安装。
hl4080
·
2020-08-18 18:16
工具
后端开发
docker
linux
RTMPdump
源代码分析
:RTMP_Connect建立网络连接
本篇文章分析一下RTMPdump里面的建立一个网络连接过程中的函数调用。函数调用过程如下:RTMP_Connect->add_addr_info:填充structsockaddr_in结构体用于之后的socket通信->RTMP_Connect0:主要用于建立Socket连接,并未开始真正的建立RTMP连接->RTMP_Connect1:这是真正建立RTMP连接的函数->HandShake:握手-
叮咚咕噜
·
2020-08-18 17:02
RTMP
LibRTMP
源代码分析
6:建立网络流(NetStream)
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412124828594/建立了RTMP网络连接之后,客户端发送createStream命令到服务器端为消息连接创建一个逻辑通道。NetStream定义了这个传输逻辑通道,通过这个通道,音频流、视频流以及数据消息流可以通过连接客户端和服务端的NetConnection传输。NetCo
tongjing524
·
2020-08-18 16:07
RTMP服务
LibRTMP
源代码分析
10:处理消息(Handle Message)
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412473745809/函数RTMP_ClientPacket()是libRTMP中最重要的核心函数之一,主要完成各种消息的处理。/***@brief根据接收到的消息类型的不同,作出不同的处理。*消息类型有协议控制消息、Flv数据、Flex消息等。*协议控制消息的定义可参考官方协议
tongjing524
·
2020-08-18 16:35
RTMP服务
muduo
::StringPiece
muduo
::StringPiece为什么要有这个StringPiece类?C++里面有string和char*,如果你用conststring&s做函数形参,可以同时兼容两种字符串。
X-Programer
·
2020-08-18 15:03
C++
LibRTMP
源代码分析
8:发送消息(Send RTMPPacket)
在详细分析函数RTMP_SendPacket()之前,让我们来看看RTMPPacket结构体的定义:typedefstructRTMPPacket{uint8_tm_headerType;//ChunkMsgHeader类型(4种)uint8_tm_packetType;//MessagetypeID(1-7协议控制;8,9音视频;10以后为AMF编码消息)uint8_tm_hasAbsTimes
huangmindong
·
2020-08-18 15:02
多媒体
iOS
RTMPdump
源代码分析
1: main()函数
注:此前写了一些列的分析RTMPdump(libRTMP)源代码的文章,在此列一个列表:RTMPdump
源代码分析
1:main()函数RTMPDump(libRTMP)
源代码分析
2:解析RTMP地址——
dianyimo9099
·
2020-08-18 14:48
RTMPdump(libRTMP)
源代码分析
8: 发送消息(Message)
注:此前写了一些列的分析RTMPdump(libRTMP)源代码的文章,在此列一个列表:RTMPdump
源代码分析
1:main()函数RTMPDump(libRTMP)
源代码分析
2:解析RTMP地址——
dianyimo9099
·
2020-08-18 14:48
muduo
: StringPiece
http://www.zhihu.com/question/34499426/answer/58891014为什么要有这个类?C++里面有string和char*,如果你用conststring&s做函数形参,可以同时兼容两种字符串。但当你传入一个很长的char*时,会生成一个较大的string对象,开销比较大。如果你的目的仅仅是读取字符串的值,用这个StringPiece的话,仅仅是4+一个指针
春泥面包
·
2020-08-18 14:01
muduo
C++ 一个字符串的代理类(String View)
在学习
muduo
/base源码的时候看到一个StringPiece类,是个stringview,记录下来。
大黄鸭xD
·
2020-08-18 14:28
c++
LibRTMP
源代码分析
5:建立网络连接(NetConnection)
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412083019646/服务器和客户端之间只能建立一个网络连接,但是基于该连接可以创建很多网络流。他们的关系如图所示:网络连接的基本步骤在第一篇文章中有所介绍,此处不再重复。源代码中的RTMP_Connect(...)用于建立RTMP网络连接。/***@brief建立RTMP中的网
tongjing524
·
2020-08-18 13:35
RTMP服务
Android5.0 Camera HAL3
源代码分析
Android5.0对cameraframework层进行了较大的调整,使用了支持HAL3的Camera3Device架构。下面就分析一下这个架构的结构和主要代码逻辑。HAL3的设计思想:其实HAL的代码复杂但是理清楚他的设计思想后还是比较简单的。Camera应用端与CameraService的交互还是一模一样的,只是以前的CameraClient变成了Camera2Client。在Camera2
罗自荣
·
2020-08-18 08:57
android
camera
x264源代码简单分析:宏块分析(Analysis)部分-帧间宏块(Inter)
=====================================================H.264
源代码分析
文章列表:【编码-x264】x264源代码简单分析:概述x264源代码简单分析
雷霄骅
·
2020-08-18 08:04
x264
开源多媒体项目源代码分析
Fabric 1.0
源代码分析
(32)Peer #peer根命令入口及加载子命令
#Fabric1.0源代码笔记之Peer#peer根命令入口及加载子命令##1、加载环境变量配置和配置文件Fabric支持通过环境变量对部分配置进行更新,如:CORE_LOGGING_LEVEL为输出的日志级别、CORE_PEER_ID为Peer的ID等。此部分功能由第三方包viper来实现,viper除支持环境变量的配置方式外,还支持配置文件方式。viper使用方法参考:https://gith
尹成
·
2020-08-18 06:59
区块链
Fabric 1.0
源代码分析
(7)configtx(配置交易) #configtxgen(生成通道配置)
#Fabric1.0源代码笔记之configtx(配置交易)#configtxgen(生成通道配置)##1、configtxgen概述configtxgen,用于生成通道配置,具体有如下三种用法:*生成Orderer服务启动的初始区块(即系统通道的创世区块文件)*configtxgen-profileTwoOrgsOrdererGenesis-outputBlock./channel-artifa
尹成
·
2020-08-18 06:59
区块链
Blue Pill
源代码分析
(1)
一直都有写blog的想法,但是每次总觉得写东西很浪费时间,还不如利用这些时间多学点东西。不过每次学到东西之后,总是很容易遗忘,学到方法不假,一些零碎细节忘的很快,于是决定还是应该写点东西出来作备忘。去年末,对BluePill有稍微了解一下,但终究是没有完整阅读过源代码,今天花了一天的时间把BluePill的源代码看了一下,总算对其中的奥妙之处有所了解。原先对VT技术不是特别了解的地方今天看了代码之
lzz14
·
2020-08-17 23:55
微信小程序实验一、小程序与服务器端入门视频讲解(以Wafer Quick Start为例)
三、小程序端与服务器端
源代码分析
1、登录功能实现1)小程序端代码在client\p
qlchenxh
·
2020-08-17 09:08
微信使用与开发
PHP
Javac编译器
源代码分析
Javac编译器的编译流程主要如下图:各个阶段的作用:词法分析:主要的作用就是读入Java源代码文件,生成Token流,用到的类如下图:Scanner调用nextToken()方法,返回一个Token。Scanner它内部究竟是怎么获得Token的呢?首先它会先把Java源文件转为Char[]数组,逐个Char去判断,遇到单词分隔符(空格)、分隔语义时,分析出Java源文件中的词。再把分析出来的单
xiaomin_____
·
2020-08-17 07:04
java
s3c6410 irom
源代码分析
抽空分析了一下IROMbooting的细节。用注释的形式加在源代码里面了,大家将就着看。S3C6410的IROM支持从SD/MMC,NAND,OneNAND多种设备启动。同时支持secureboot模式。用来为设备提供更好的安全性。几个心得:1.howtheefusegenraterandomkeywhentheiromverifyBL1,itwillreadtherandomkeyfromadd
ARMDEVICE
·
2020-08-17 01:09
Fabric 1.0
源代码分析
(11)consenter(共识插件) #filter(过滤器)
#Fabric1.0源代码笔记之consenter(共识插件)#filter(过滤器)##1、filter概述filter代码分布在orderer/common/filter、orderer/common/configtxfilter、orderer/common/sizefilter、orderer/common/sigfilter、orderer/multichain目录下。orderer/c
尹成
·
2020-08-16 22:36
区块链
nginx事件 epoll
下面,分析使用epoll机制下(Linux最常用支持大并发的事件触发机制)Nginx事件处理的过程,用
源代码分析
和debug信息追踪两种方法。
saber_9192
·
2020-08-16 21:37
php
【
muduo
】base库之 Thread
一、基础知识POSIX线程(英语:POSIXThreads,常被缩写为Pthreads)是POSIX的线程标准,定义了创建和操纵线程的一套API。实现POSIX线程标准的库常被称作Pthreads,一般用于Unix-likePOSIX系统,如Linux、Solaris。它以pthread.h头文件和一个线程库实现。PthreadsAPI中大致共有100个函数调用,全都以"pthread_"开头。p
潇湘夜雨~
·
2020-08-16 20:32
muduo源码剖析
【
muduo
】base库之 Types
一、类型转换C++中有四种强制类型转换操作符:static_cast:这个是最经常使用的类型转换。凡是C++隐式执行的类型转换都能够用static_cast显式完毕。在隐式转换时有时编译器会有警告信息。可是显示转换就不会有。static是指编译时,转型失败的话就不能编译。const_cast:从名字能够看出和const有关,这个转换的作用是去除或加入const特性,它能够将一个const变量转换为
潇湘夜雨~
·
2020-08-16 20:32
muduo源码剖析
FFmpeg源代码简单分析:libavdevice的avdevice_register_all()
=====================================================FFmpeg的库函数
源代码分析
文章列表:【架构图】FFmpeg源代码结构图-解码FFmpeg源代码结构图
雷霄骅
·
2020-08-16 19:13
FFMPEG
FFmpeg
FFmpeg的HEVC解码器源代码简单分析:概述
=====================================================HEVC
源代码分析
文章列表:【解码-libavcodecHEVC解码器】FFmpeg的HEVC解码器源代码简单分析
雷霄骅
·
2020-08-16 19:13
FFMPEG
FFmpeg
【
muduo
库】简单的定时器程序
#include#include#include#include
muduo
::net::EventLoop*g_loop;voidti
zxc120389574
·
2020-08-16 17:12
笔记杂烩
muduo
源码分析之多线程TcpServer
(一)EventLoopThread类在
muduo
源码分析之EventLoop::runInLoop()函数因为要测试跨线程runInLoop()调用,因此,引入了EventLoopThread类,这里回顾以下
NearXDU
·
2020-08-16 17:32
muduo和多线程学习
C++多线程
从零开始学写HTTP服务器(七)
muduo
+tinyhttpd
(一)前言对
muduo
内嵌的HttpServer进行了稍微的改进,融入了TinyHttpd中对CGI部分内容。
NearXDU
·
2020-08-16 17:32
Http协议
muduo
源码分析之定时器TimerQueue的设计与实现
1.简介这部分介绍TimerId、Timer、TimerQueue三个class的封装,反映到实际使用,主要是EventLoop中的三个函数:runAt()、runAfter()、runEvery()。TimerQueue的封装是为了让未到期的时间Timer有序的排列起来,这样,能够更具当前时间找到已经到期的Timer也能高效的添加和删除Timer。所谓的到期与未到期,与当前在当前时间之前表示已经
NearXDU
·
2020-08-16 17:32
muduo和多线程学习
C++多线程
muduo
源码中的时间类
MutexLock私有成员:Phread_mutex_tmutex_;//互斥变量pid_tholder;//用来表示给互斥量上锁线程的tidMutexLock()~MutexLock()isLockByThisThread()->bool用来检查给互斥量上锁的是否为当前线程assertLocked()lock()//加锁,调用assignHolder设置加锁线程IDunlock()//解锁,调用
ythunder
·
2020-08-16 17:54
c++
Timestamp测试
参考:
muduo
库以及http://blog.csdn.net/ygm_linux/article/details/25690829Timestamp.h#ifndef
MUDUO
_BASE_TIMESTAMP_H
阳光梦
·
2020-08-16 17:55
库学习
再来理解Timestamp[1-2-1]
Timestamp.h#ifndef
MUDUO
_BASE_TIMESTAMP_H#define
MUDUO
_BASE_TIMESTAMP_H#include#include#includenamespace
muduo
阳光梦
·
2020-08-16 17:55
库学习
muduo
/base库学习笔记(1)-----Timestamp类
Timestamp类1变量staticconstintkMicroSecondsPerSecond=1000*1000;private:int64_tmicroSecondsSinceEpoch_;2构造函数无参构造函数Timestamp():microSecondsSinceEpoch_(0){}有参数构造函数explicitTimestamp(int64_tmicroSecondsSinceE
xiuxiu__deng
·
2020-08-16 17:07
muduo
多数据中心的高可用结构【环状星型数据库架构】
高手轻拍原文请见:http://www.
muduo
.net/index.php/u...space-itemid-318728二、多数据中心的高可用结构【环状星型数据库架构】在介绍该结构之前,我们首先了解一下
wzbob
·
2020-08-16 17:41
muduo
--TimerQueue定时器
传统的Reactor是通过控制select和poll的等待时间来实现定时,libevent中就是这么实现的,现在Linux中提供了timerfd,timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,所以能够被用于select/poll的应用场景,采用文件描述符实现定时有利于统一事件源。主要有几个类-----Timer定时器包含超时
wuqiyi_71
·
2020-08-16 16:28
linux
C++
muduo
网络库base篇二:Time! Time!
更新 真不敢相信,读
muduo
已经近两年了,期间主要搞搞java,倒是少有精力读C/C++开源代码了。犹记得当年是整天整天的读
muduo
和redis,如今忘得差不多了。
视此虽近_邈若山河
·
2020-08-16 16:18
muduo网络库
浅析
muduo
库中的线程设施03
最后,向大家介绍
muduo
库中对于线程池的封装的理解。最重要的想法就是线程池将线程看为自己可执行的最小并且可随时增加的单位。
uulogging
·
2020-08-16 16:35
muduo
线程
库
muduo
中的TcpServer一次完整的工作(上)
模拟单线程情况下
muduo
库的工作情况
muduo
的源代码对于一个初学者来说还是有一些复杂的,其中有很多的回调函数以及交叉的组件,下面我将追踪一次TCP连接过程中发生的事情,不会出现用户态的源码,都是库内部的运行机制
uulogging
·
2020-08-16 16:35
muduo
现代C++的回调技术--使用std::bind和std::function
最近在读完陈硕大牛的《Linux多线程服务端编程》以及
muduo
源码后,对其中的一些实现细节有着十分深刻的印象,尤其是使用std::bind和std::function的回调技术。
uulogging
·
2020-08-16 16:35
C++
muduo
muduo
中的TcpServer一次完整的工作(下)
模拟单线程情况下
muduo
库的工作情况在上篇中,笔者追踪了Connetfd(连接套接字)和Listenfd(监听套接字)的Channel对象加入到loop循环的过程。
uulogging
·
2020-08-16 16:35
muduo
浅析
muduo
库中的线程设施01
muduo
是目前在学习过程中遇到的最具有学习意义的网络库,下文将分析
muduo
库中的基础设施–Thread和ThreadPool.文中观点如果部分不符合您的理解,请留言指教,谢谢~首先,介绍在多线程编程中不可缺少的同步措施
uulogging
·
2020-08-16 16:04
muduo
muduo
网络库源码解析(4):TimerQueue定时机制
muduo
网络库源码解析(1):多线程异步日志库(上)
muduo
网络库源码解析(2):多线程异步日志库(中)
muduo
网络库源码解析(3):多线程异步日志库(下)
muduo
网络库源码解析(4):TimerQueue
一个划水的人
·
2020-08-16 16:59
muduo网络库源码解析
muduo
_base代码剖析之Timestamp、AtomicIntegerT、Exception
因此需要将微秒数转换成大家比较熟悉的秒数classTimestamp:public
muduo
::copyable,publicboost::equality_comparable,p
guojawee
·
2020-08-16 16:32
Muduo库源码剖析
Muduo
网络编程示例之三:定时器
陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice这是《
Muduo
网络编程示例》系列的第三篇文章。
weixin_34183910
·
2020-08-16 16:18
muduo
网络库学习笔记(三)TimerQueue定时器队列
目录
muduo
网络库学习笔记(三)TimerQueue定时器队列Linux中的时间函数timerfd简单使用介绍timerfd示例
muduo
中对timerfd的封装TimerQueue的结构.TimerTimer
weixin_30648963
·
2020-08-16 15:10
从epoll构建
muduo
-1 mini-
muduo
介绍
mini-
muduo
版本传送门version0.00从epoll构建
muduo
-1mini-
muduo
介绍version0.01从epoll构建
muduo
-2最简单的epollversion0.02从epoll
voidccc
·
2020-08-16 15:11
网络
muduo
epoll
linux
网络编程
socket
从epoll构建
muduo
-10 Timer定时器
mini-
muduo
版本传送门version0.00从epoll构建
muduo
-1mini-
muduo
介绍version0.01从epoll构建
muduo
-2最简单的epollversion0.02从epoll
voidccc
·
2020-08-16 15:40
网络
muduo
之TimerQueue解析
首先直到Linux下获取当前时间的函数有:time(2)/time_t(秒)ftime(3)/structtimeb(毫秒)gettimeofday(2)/structtimeval(微秒)clock_getime(2)/structtimespec(纳秒)定时函数sleep(3)alarm(2)usleep(3)nanosleep(2)clock_nanosleep(2)getitimer(2)
FBI-PC
·
2020-08-16 15:21
muduo网络库
muduo
日志库学习(一)
转载自:大佬博客
muduo
的日志库由LogStream{.h,.cc}、Logging{.h,.cc}、LogFile{.h,.cc}、AsyncLogging{.h,.cc}组成。
FBI-PC
·
2020-08-16 15:21
muduo网络库
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他