自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

向往天空的鱼

每天进步一点点~~~

  • 博客(80)
  • 资源 (12)
  • 收藏
  • 关注

原创 C++调用ffmpeg解复用、解码案例

MP4文件调用ffmpeg接口从解封装到解码音视频过程的实现。

2025-03-21 17:42:52 449

原创 C++操作符重载案例

在学习ZLToolKit源码时,发现代码中涉及好多运算符重载,因此对其做一下归类学习。

2025-02-22 16:26:30 219

原创 调用openssl实现加解密算法

借助openssl库算法实现常用的算法计算案例。

2025-02-18 17:15:34 660

原创 C++11左值右值

左值:有持久性,可以取地址,能出现在赋值运算符的左侧。右值:没有持久性,通常是临时对象,出现在赋值运算符的右侧。

2025-01-22 11:45:49 368

原创 单例的宏定义实现

宏定义实现单例模式

2024-11-22 11:10:45 479

原创 平衡二叉搜索树AVL(C实现)

C语音实现AVL树编码

2024-10-29 15:07:30 359 1

原创 Linux java jni调用C++封装动态库

java通过jni二次封装并调用C++动态库。

2024-05-28 15:10:11 820

原创 C++11 shared_from_this学习

最近学习网络变成发现一些C++源码库中封装对象时会公有继承enable_shared_from_this;用一个案例进行说明,案例代码如下:#include <iostream>#include <memory>#include <stdio.h>using namespace std;class C : public enable_shared_from_this<C>{ public: shared_ptr&

2024-03-29 17:08:38 485

原创 docker搭建redis集群

docker搭建redis集群环境实验。

2023-12-21 19:46:55 1303

原创 Nginx实现tcp代理并支持TLS加密实验

nginx代理tcp服务,实现客户端与服务器之间的TLS加密。

2023-11-08 10:23:12 3435

原创 SRS源码梳理之rtmp协议解析

srs源码中rtmp协议解析主要流程梳理。

2023-05-12 15:21:33 293

原创 linux定时器接口timerfd案例

timerfd定时器结合epoll简单案例

2023-03-31 19:19:54 493

原创 VS2008生产动态库、静态库调用案例

VS2008生成动态库、静态库并引用案例

2023-03-09 15:38:07 1312 4

原创 内存池简单案例

比较nginx内存池的效率案例

2022-11-30 10:59:43 773

原创 狼羊菜过河(C实现)

C语言实现狼羊菜过河算法

2022-11-18 10:13:15 1863 1

原创 红黑树实现定时器

借助nginx中红黑树源码实现一个简单定时器demo

2022-11-16 10:34:02 1074

原创 搭建ftp服务器注意事项

windows搭建ftp服务器注意事项

2022-10-27 17:13:54 1453

原创 DPDK简单案例

关于dpdk的简单案例

2022-09-23 16:38:57 2042

原创 epoll模型实现及惊群效应

epoll模型多进程的惊群效应现象理解

2022-09-09 14:59:29 656

原创 线程池实现简单案例(C语言)

C语言简单实现线程池案例

2022-09-07 16:20:45 1413 4

原创 指令重排案例分析

操作系统在执行进程时会发生指令重排导致出现意想不到的结果。

2022-08-18 17:24:23 428

原创 缓存一致性案例分析

案例说明操作系统的运行进程时的缓存一致性。

2022-08-18 11:52:36 331

原创 zstd压缩与lz4压缩比较

主要对zstd算法跟lz4算法进行了性能上的测试对比

2022-05-17 11:01:18 12632

原创 Nginx学习之ngx_cycle_s中的四维指针

好记性不如烂笔头!刚开始看完一遍nginx的源码,由于源码工程量比较大,看完之后理解了,过一段时间再回过头来看又有点遗忘。所以决定做一下记录,以便后续翻阅,如有漏错,欢迎指正。ngx_cycle_s结构体可以说是Nginx中最为重要的结构体,它贯穿着整个进程代码。本节我就该结构中的 void ****conf_ctx 四级指针进行深入学习。Nginx的所有配置结构体全部放在conf_ctx这个四维指针中。下来我们先熟悉一下源码中,ngx_init_cy...

2021-11-09 10:21:46 2571

原创 Nginx学习之内存管理

Nginx内存管理模块中,ngx_align_ptr()函数是用来对指针的设置。具体设置是:将指针按照设定的字节对齐返回对齐设置后的指针。 其实也很简单。通过代码案例来理解比较清楚的理解,代码运行环境为Linux 64位操作系统。具体代码如下:#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <inttypes.h>#defi...

2021-11-04 10:48:21 3828 1

原创 Nginx事件模块学习之定时器

Nginx中的定时器是自己利用红黑树实现的,下来逐步分析一下nginx对定时器的实现。 首先,Nginx的工作进程是一个无限for循环,主要代码如下:static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data){ …… // 工作进程初始化调用 ngx_worker_process_init(cycle, worker); …… // 无限循环 for ( ;; )...

2021-10-29 15:21:21 1947

原创 Nginx数据结构学习

在nginx源码中,用了大量的数据结构,现对在nginx源码中对数据结构常用的一种方法进行一些总结。 nginx的事件模块的数据结构中定义了两个变量:timer,queue;结构体如下:struct ngx_event_s { void *data; …… ngx_rbtree_node_t timer; ngx_queue_t queue; ……};其实timer变量是为了将ng...

2021-10-28 12:31:47 796

原创 Nginx事件模块学习之连接

本节主要的最近学习的nginx事件模块做一下学习总结。通过对nginx整体的学习,觉得nginx的事件模块最主要的两个结构 ngx_connection_t,ngx_event_t,ngx_connection_t结构主要存储TCP连接结构, 对应ngx_event_t结构则存储对应位置上连接的读写事件,nginx的事件模块可以配置,linux下默认用内核提供的epoll机制,本节暂不细讨论epoll机制原理。 对上述两个结构进行了简化,如下:struct ngx_c...

2021-10-27 12:14:18 674

原创 透明代理(NAT)

透明代理的实现目前实现的方式有NAT和TPROXY两种方式。此次我们借助iptables的nat表的规则对数据包进行重定向。具体配置及步骤如下。试验环境 将试验环境的配置如下:名称 IP地址 网关设置 客户端 192.168.200.184 192.168.200.111 代理服务器 192.168.200.111 192.168.200.1(内网真实网关IP) 服务器 172.16.9.66 ...

2021-10-15 16:05:31 5233

原创 Qt学习之QFile和QFileInfo

Qt项目中对文件操作是必不可少的。顾名思义:QFile是文件对象类,QFileInfo是文件信息对象类,结合例子我们看一下用法。 读的文件内容如下,以字符 “#” 或者 “;” 开始的为注释行。[Extern_Item1];名称Name=libccgext_cvi_64.so;处理数据的最大线程数,缺省为空:30DealThreads=32;数据库最大线程数,缺省为空:10DBThreads=;心跳间隔,缺省为空:120秒HeartInverva...

2021-10-08 11:16:56 1545

原创 Qt学习之定时器

定时器接口在Qt中一般有两种定时器的使用方法:1、Qt祖先类QObject提供一个虚函数供子类实现,如下:[virtual protected] void QObject::timerEvent(QTimerEvent *event),2、Qt提供一个QTimer定时器类,在类对象里面可以定义一个定时器对象去实现定时功能。实现案例...

2021-09-30 12:09:20 1336

原创 Qt学习之组合套件及鼠标事件

组合套件 本部分实现一个自定义的控件,在主界面里面添加自定义的控件,具体步骤如下。 1、首先在原本的项目中创建一个设计师界面类,如下图2、添加成功之后项目会增加三个文件,如下:3、将在 mydfine.ui 界面编辑类中创建自己的组合套件,创建一个简单的套件如下: 4、将自定义套件嵌在主界面里面,需添先加一个控件,然后提示该控件自定义控件类(注意:提升的类与本体类应该一致才会成功...

2021-09-29 18:29:41 512

原创 Qt学习之QTreeWidget、QTableWidget

1、新建一个空的QWidget类型的项目,按下图添加两个部件如下:2、在Widget类构造函数中添加如下代码: // treeWidget设置 ui->treeWidget->setHeaderLabels(QStringList()<<"陕西前10强公司简介"); QTreeWidgetItem *gsItem = new QTreeWidgetItem(QStringList()<<"陕西JD公司"); ui-&gt..

2021-09-28 13:54:04 701

原创 Qt学习之部件创建及资源添加

1. 菜单栏 最多1个 1.1 创建菜单栏:QMenuBar *bar = MenuBar(); 1.2 设置到窗口中:setMenuBar(bar); 1.3 创建菜单:QMenu *fileMenu = bar->addMenu("文件") 1.4 菜单之间添加分隔符:fileMenu->addSeparator(); 1.5 创建菜单项:QAction *newAct = file->addAc...

2021-09-26 17:13:49 2702

原创 Qt学习之信号和槽

基本概念信号与槽(Signal & Slot)是 Qt 编程的基础,也是 Qt 的一大创新。因为有了信号与槽的编程机制,在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。信号(Signal)就是在特定情况下被发射的事件,例如PushButton 最常见的信号就是鼠标单击时发射的 clicked() 信号,一个 ComboBox 最常见的信号是选择的列表项变化时发射的 CurrentIndexChanged() 信号。槽(Slot)就...

2021-09-26 15:56:45 181

原创 Linux内核代码学习笔记

数据发送流程处理总结图如下:数据包接收流程处理总结入下图:理解浅谈 对应linux内核协议栈代码1.2.13版本整体上学习了,其实也没有想象中的难理解。谈一下在学习内核代码过程中最深的感受。内核代码是用C写的,但给人更多的还是C++的封装、多态特性。 就封装来说每一层协议中对该层中用到的多个协议都是类似于封装的,对上下各层都提供了对应接收和发送的接口。 其实C++多态本质就是函数指针,而内核实现数据包各层之间的数据解析、发送(尤...

2021-09-09 17:35:13 237

原创 C 指针操作分析

最近学习Linux内核代码,两句指针代码顿时让我感觉自己的指针功底还是欠缺。在此对代码重新做了梳理、分析及记录。 源代码结构也挺简单。如下:static struct rtable *rt_base = NULL;static void rt_del(unsigned long dst, char *devname){ struct rtable *r, **rp; rp = &rt_base; // ………… 省略部分代码 while((...

2021-07-09 15:01:21 157

原创 TCP套接字状态变化梳理

Linux对于数据传输,传输层提供了可靠的TCP协议。该协议的可靠性主要体现在其许多特点,如传输数据时需建立连接、窗口检测、超速重传等。本篇主要就TCP数据传输过程中的套接字状态变化进行分析。 TCP正常的数据连接建立(三次握手)、数据传输、及连接断开(四次挥手)中套接字的状态入下图所示。上图中清晰的描述了TCP协议在连接、数据传输、断开时,客户端、服务端的套接字状态的详细变化。需要注意的有三点如下: 1、客户端的套接字状态的改变是...

2021-07-02 15:41:47 789

原创 ettercap内网DNS劫持实验

ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。ARP欺骗是一种中间人攻击,攻击者通过毒化受害者的ARP缓存,将网关的MAC替换成攻击者的MAC,于是攻击者的主机实际上就充当了受害主机的网关,之后攻击者就可以截获受害者发出和接到的数据包,从中获取账号密码、银行卡信息等。...

2021-05-11 16:36:48 1497 1

原创 生产环境shell脚本监控

最近有个需求:定时检测某个目录下的文件个数是否超过n个,若超过则清理日期较早的m-1个文件;由于第一个文件可能被有些进程占用,因此删除日期较早的前m个除去最早的一个。具体的shell脚本如下:############################# author : lijd# date : 2021-04-20#############################!/bin/bashmain(){ path=$(date +%Y)"/"$(date +%m)"/"$

2021-04-20 10:03:56 1315

VS2019解复用解码案例

VS2019解复用解码案例

2025-03-21

zstd-1.5.2.tar.gz + lz4-1.9.2.orig.tar.gz

zstd算法压缩包及lz4算法压缩包

2023-12-01

ffmpeg-vlc工具.rar

搭建好nginx服务器并添加rtmp模块后,需要验证流媒体服务器是否正常,所需的软件,ffmpeg是linux下的推流工具,VLC是windows下的获取服务器流的显示软件。

2020-08-10

nginx-rtmp.rar

linux环境下的nginx服务器搭建安装包,包括rtmp模块及openssl源码安装包,pcre安装包。

2020-08-05

Effective C++ 中文版第三版 高清PDF.pdf

Effective C++ 中文版第三版pdf,对于初学C++的朋友有很大的帮助。

2019-07-17

tproxy透明代理帮助文档

tproxy透明代理帮助,里面详细介绍了Tproxy的规则及socket设置及相关的用法功能,希望对你有所帮助。

2018-12-27

Apache防攻击模块代码

应用于linux下和windows下的Apache模块防攻击检测功能。

2018-12-07

深入理解Linux书籍pdf格式

深入理解Linux内核(完整版)中文版.pdf 深入理解LINUX网络技术内幕.pdf 深入理解Linux虚拟内存管理.pdf

2018-12-07

SimHash代码实现提供C接口

simhash算法分为5个步骤:分词、hash、加权、合并、降维。具体C++代码实现打包,希望对大家有帮助。

2018-12-07

Windows实用工具集

包含Afind工具、Socket工具、RegexTest工具、FtpServer工具、眼睛护士、截图工具和简易邮件服务器安装包。

2018-12-07

漏洞服务器资源

将该文件植入到服务器文件夹中,该服务器会成为所谓的靶机资源。

2018-12-07

Windows服务器搭建

window服务器搭建所需资源,该资源为园林网站的服务器资源。

2018-12-07

Windows搭建服务器压缩包

Windows环境下搭建http类型的web服务器,将该压缩包直接解压后运行"酷源码(www.kyuanma.com)ASP调试工具.exe"即可。

2018-12-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除