TianMu
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

libuv事件库

回显服务器先实现一个最简的Tcp回显服务器 : 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
2025-07-11
#libuv

boost::asio网络库

主要学习asio网络库有关异步方面的使用 这里先给出一个最简便的TCP异步echo服务器 : 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
2025-07-08
#boost::asio

C++ 协程学习笔记

协程是可以理解为一个可以被暂停(挂起)和唤醒的函数, 系统会帮助你保存协程函数中的局部变量. 协程 vs 线程协程和线程几乎没有任何联系, 它们是相互独立的. 对于执行时间比较短的任务, 不建议用线程来处理, 线程的创建, 调度, 销毁都是会占用资源的. 线程适合那些长时间的任务, 比如轮循或监控. 线程是一个实际的需要操作系统进行调度的对象, 而协程只是函数外加一些在底层跳来跳去的指令.
2025-07-07
#协程

libevent事件库

使用libevent的主要核心就是一套统一事件源的事件处理, 下面是一个echo服务器 : 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
2025-07-04
#libevent

FFmpeg音视频学习(2) QtAPI

本章介绍部分Qt中用于音视频解码的api 本章我们将会在qtcreator中写一段代码实现对一个mp4文件的解码, 所谓解码就是把其中存储的每个视频帧和音频帧取出, 本章先不做展示界面, 只是先读取这些帧的数据. 环境准备 qtcreator 安装ffmpeg 在.pro文件中加入相关依赖 : 12INCLUDEPATH += /usr/includeLIBS += -lavformat
2025-06-28
#ffmpeg

FFmpeg音视频学习(1) 理论准备

理论准备 PCM — Pulse-Code Modulation 脉冲调制编码一种用数字表示采样模拟信号的方法. 要将一段音频模拟信号转换为数字表示,包含如下三个步骤: 1、Sampling(采样) 2、Quantization(量化) 3、Coding(编码) PCM常用指标 : 采样率(Sample rate):每秒钟采样多少次,以Hz为单位。 位深度(Bit-depth):表示用
2025-06-27
#ffmpeg

Rpc分布式网络通信框架(8) Logger

asyncqueue + Logger 本章处理一下Rpc框架的遗留问题—日志处理. 最普通的日志处理就是直接在一个文件中写入, 但是这属于磁盘I/O, 效率极低, 我们不会希望在高性能Rpc通信框架中仅仅为了日志在过程中加入磁盘I/O的过程, 那么如何解决呢? 可以将要写入磁盘文件的日志先存入队列, 再开一个专门进行日志磁盘I/O的线程从队列取出进行写入.
2025-06-26
#RPC #日志系统

Rpc分布式网络通信框架(7) Zookeeper

本章了解zookeeper的作用与简易的使用方式. Zookeeper是一个使用非常广泛的服务发现中间件. 这个中间件为c/s模式, 也就是其会运行在一个服务器上, 其内部维护了一个特殊的文件系统, 可以存储大量的服务信息, 供客户端提取. 以本项目为例, 在上一章RpcChannel想要获取远程调用服务, 就必须知道提供该服务服务器的ip和port并存入配置文件中, 这样操作是非常
2025-06-26
#RPC

Rpc分布式网络通信框架(6) RpcChannel

RpcChannel RpcChannel是客户调用端的核心类, 其控制了客户端该如何向服务端发出远程方法调用. 让我们先回顾一下客户端是如何调用我们的框架的 : 123456789101112131415161718192021222324252627282930313233343536373839404142#include <iostream>#include "
2025-06-25
#RPC

Rpc分布式网络通信框架(5) RpcProdvider

RpcProdvider RpcProdvider是提供给服务发布端的核心类. 既然想把方法发布为远程方法被外部调用, 那么发布端需要做的无非就是作为一个服务器持续接收外部的方法调用请求, 根据请求在本地调用对应的方法, 最后再将响应发送回去, 可以当作一个简易的webServer, 但是需要配合我们先前protobuf的Service类, 使其对于方法调用更加便捷与通用. 12345678
2025-06-23
#RPC
12345…11

搜索

Hexo Fluid
总访问量 次 总访客数 人