分类: 复习简历

6 篇文章

简历 | 6、muduo库
采用Reactor模型。I/O 多路复用监听事件,收到事件后,根据事件类型分配(Dispatch)给某个进程 / 线程。
一次关于 fd 的 debug
将代码改成I/O多路复用时出现了一个bug Bad file descriptor 这里是向已关闭的文件描述符写东西。 出问题的地方是 // 登录客户端的登录报文。 if (ClientLogin(TcpServer) == false) ChldEXIT(0); // 出了ClientLogin这个函数后,TcpServer失效。 // 接收文件…
4、调度模块
两个程序,一个是崩溃后再运行、一个是杀死超时程序。 调度进程 先让1号进程接管,然后由这个被1号进程接管的进程来负责fork子进程,并等待子进程退出。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&…
3、音视频模块
这个就是之前写的极简小咖秀 给上下文oFmtCtx创建两路流,视频流和音频流。剪切时先将帧跳转到起始点,再将两个流的时间戳更改。 #include <stdio.h> #include <stdlib.h> #include <libavutil/log.h> #include <libavutil/tim…
2、上传下载文件
包括基本通信方式、如何解决粘包分包、如何传文件、如何记录批量传输的文件、如何批量传文件、如何应对服务端断连。 1、tcp基本通信方式 服务端:创建socket、bind、listen、accept、recv、send 客户端:创建socket、 connect、send、recv send如果发送缓冲区已满,会阻塞 recv接收缓冲区中没有数据可用…
1、MySQL线程池
有两个类,MySQL 和 ConnectionPool。MySQL负责封装mysql提供的接口,ConnectionPool负责管理连接。 1、两个类 MySQL类如下,这个还好,就是对原api的封装: // 数据库操作类 class MySQL { public: //初始化数据库连接 MySQL(); //释放数据库连接资源 ~MySQL();…