- 博客(32)
- 收藏
- 关注
原创 0、SRS4.0源代码分析之RTMP协议入门
前言本文主要目的是为了通过了解RTMP协议,帮助读者理解SRS4.0源代码中相关协议的处理逻辑。一、RTMP协议简介RTMP协议是Real Time Message Protocol(实时消息传输协议)的缩写,它是由Adobe公司提出的⼀种应⽤层的协议。RTMP协议⽤于解决音视频流传输过程中数据复⽤(Multiplexing,即一条RTMP流中同时包括音频、视频、字幕、控制命令等多种数据)和分包(packetizing)的问题。随着互联网宽带基础设施更加完善,视频直播等领域逐渐活跃起来,RTMP作
2022-03-08 18:22:18
1207
翻译 A Google Congestion Control Algorithm for Real-Time Communication
翻译:A Google Congestion Control Algorithm for Real-Time Communication
2021-11-02 00:15:46
945
原创 虚拟机桥接模式下设置静态IP地址无法上网
宿主机:win7 虚拟机:Fedora24 上网:无线路由器+ADSL虚拟机采用桥接模式,之前虚拟机的网卡配置为DHCP模式,通过无线路由器动态分配一个192.168.1.xxx的IP地址,可以上网。由于最近需要虚拟机的IP地址固定,就设置了一个镜头IP地址:192.168.1.30,结果发现虚拟机无法上网了。 折腾了半天发现,在vmware的网络编辑器中,不要使用自动,要明确选择桥接到联网的
2017-03-03 13:12:50
2892
原创 一些常用的C++11新增特性
C++11新标基于C++编程社区的大量实践经验,准吸收很多Boost库的特性,还对原有C++做了一些改进工作,是学习现代C++编程的基础。这里参考《C++ Primer Plus 第六版》,对一些常用的C++11新特性做一个总结:1、统一的初始化C++11支持对于所有的内置类型和用户定义类型使用大括号方式的初始化列表,使用初始化列表时,可以添加等号,也可以没有。int x = {5}; // 以前只
2017-02-15 18:07:18
1558
原创 muduo库的源代码分析2--简化方案
之前已经简单分析了Muduo库的软件架构: http://blog.youkuaiyun.com/adkada1/article/details/54342275 接下来准备对Muduo库进行部分简化。一、三个主要目标:1、从Boost向C++11迁移。Muduo库采用了现代C++编程的思想,在几年前,这种思想必须通过Boost库才能够支持,而现在C++11标准日益普及,Boost库中很多优秀特性已经被吸收
2017-02-12 00:54:59
1982
1
原创 Linux accept()/epoll_wait()惊群问题与解决方案
Linux accept()/epoll_wait()惊群问题与解决方案
2017-01-18 00:50:58
7542
原创 muduo库的源代码分析1--整体架构
最近,学习了陈硕大侠的《Linux多线程服务端编程:使用muduo C++网络库》很受启发。但是在学习muduo源代码的过程中,还是感觉代码架构比较复杂,一个是和boost相关的内容比较多,对现代C++编程理念不了解的人,可能感觉莫名其妙。(关于什么是现代C++,可参考此链接:https://msdn.microsoft.com/zh-cn/library/hh279654.aspx)。另外,mud
2017-01-12 22:44:50
12137
10
原创 C++11中的智能指针
转载:https://my.oschina.net/hevakelcj/blog/465978在C++11中,引入了智能指针。主要有:unique_ptr, shared_ptr, weak_ptr。 这3种指针组件就是采用了boost里的智能指针方案。很多有用过boost智能指针的朋友,很容易地就能发现它们之间的关间: std boost 功能说明 unique_ptr sco
2016-12-31 23:58:30
757
转载 网上的好文章:C++ vector容器类型及初始化方法
http://www.cnblogs.com/charley_yang/archive/2010/1 网上发现的一片好文。vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 :#include <vector>使用vector有两种不同的形式,即所谓的数组习惯和 STL习惯。一、
2016-12-29 17:18:48
490
原创 数据结构与算法读书笔记1:树
一、树的基本概念树是n(n>=0)个结点的有限集合,有且仅有一个根节点(如下图所示的结点A)。 n>1时,树上的其余结点可以分成m个互不相交的子树,子树本身还是一棵树(从这一点看树是一种包含了递归概念的数据结构)。 树:最多只有一个根节点(如上图所示的A结点。空树可以没有),每一个结点都可以有不止一个直接后继,除根结点外的所有结点都有且只有一个直接前趋(即一个叶子结点不能有两个根)。 结点
2016-10-27 00:48:46
629
原创 C++读书笔记5:标准模板库
一、STL基础知识1、整体介绍STL标准模板库(Standard Template Library)是基于模板技术实现的C++标准程序库。STL标准模板库为用户提供了很多在计算机科学领域里常用的基本数据结构和基本算法,这些数据结构和算法以类型参数化(type parameterized)的方式广泛适用于各种数据类型(包括自定义的数据类型),体现了泛型化程序设计的思想 。STL包括六大组件:容器(co
2016-10-26 00:38:21
665
1
原创 Linux学习笔记3-1:SHELL脚本
Linux系统的Shell环境允许用户通过交互式命令实现系统管理,同时用户还可以通过编写脚本文件实现执行过程完全自动化且功能更强大的系统管理工作,所以,相对于需要用户不断干预的命令行交互方式,脚本有着无可替代的优势。
2016-10-24 08:57:33
582
原创 Linux学习笔记1:磁盘、文件与用户管理
在Linux系统中,一切都是以文件的形式存在,例如:系统配置信息、系统运行状态、进程间通信甚至包括硬件设备。所以,我们的学习从Linux文件系统开始。一、硬盘分区原理与文件系统存储结构如下图所示,扇区(Sector)是硬盘的最小逻辑单位,每个扇区的大小是512个字节。硬盘的第一个扇区(Sector0)是整个硬盘的主引导扇区,其中包括2个重要的数据结构:MBR和DPTMBR(Master Boot
2016-10-24 08:37:25
1011
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人