自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 16进制字符串和字节流转换函数

16进制字符串和字节流转换函数使用查表方法/*函数功能:"123456" ==> 0x12,0x34,0x56输入参数:source 源数据指针 sourceLen 源数据长度输出参数:dest 输出数据 返回值:正数 输出数据长度;负数 入参错误*/int HexStrToByte(const char* source, int sourceLen, unsigned char* dest) { int i; unsig

2021-11-03 14:53:06 178

原创 Linux下WaitForSingleObject类似功能

Linux下WaitForSingleObject类似功能线程通信之条件变量Window系统Linux系统线程通信之条件变量Window系统WaitForSingleObjectWaitForSingleObject函数用来检测hHandle事件的信号状态,在某一线程中调用该函数时,线程暂时挂起,如果在挂起的dwMilliseconds毫秒内,线程所等待的对象变为有信号状态,则该函数立即返回;如果时间已经到达dwMilliseconds毫秒,但hHandle所指向的对象还没有变成有信号状态,函数照样

2021-08-14 16:46:36 1911

原创 linux-arm编译报错m4: unrecognized option ‘--gnu‘

linux-arm编译libuv第一步执行./autogen.sh报错,网上说的是autoconf和automake没有安装。结论:m4版本比较老,不支持某些新的特性导致执行./autogen.sh报错,更新到1.4.19版本重新执行成功m4: unrecognized option ‘–gnu’Try `m4 --help’ for more information.autom4te: m4 failed with exit status: 1aclocal: error: echo fail

2021-06-21 11:28:54 791

原创 libuv实现ping包发送和接收

目录简介源码简介使用socket函数创建套接字,并与uv_udp_t关联,可以实现对icmp包的发送和接收,实现类似ping命令的功能 uv_loop_t* loop = uv_default_loop(); uv_udp_t* pUdp = new uv_udp_t; int sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); uv_udp_init(loop, pUdp); uv_udp_open(pUdp, sock);源码学

2021-06-16 09:40:51 615

原创 libuv使用不当导致的内存泄漏

libuv库使用过程中,发现简单的定时器不关闭对应的句柄会导致内存泄漏;使用文章后面的测试代码缺少uv_close或者uv_loop_close均会导致内存泄漏,关闭的时机也有影响。Detected memory leaks!Dumping objects ->{185} normal block at 0x00FB7860, 32 bytes long.Data: < R z > E8 52 E8 7A 00 00 00 00 00 00 00 00 00

2021-06-15 17:38:12 841

原创 libuv实现tcp代理服务器

目录概述API简介uv_err_nameuv_ip4_addruv_tcp_inituv_tcp_binduv_listenuv_accept源码演示概述为了学习libuv的tcp相关函数使用,实现了一个tcp代理服务。1 启动TCP服务2 如果有新的连接X,则向代理地址建立连接Y,并关联X和Y成组3 如果X收到数据包,发往Y;反之如果Y收到数据包发往X4 如果X或者Y连接异常,关闭此组连接5 代理服务退出时,清理所有组,清理TCP服务API简介uv_err_name出现错误可以通过

2021-06-15 09:02:26 695

原创 libuv在Windows下环境搭建和演示 - 定时器

目录简述新建项目代码编写编译运行简述之前介绍了libuv库在Windows环境下的编译https://blog.csdn.net/hubei_dxx/article/details/117768529现在我们把编译的库用起来,使用工具VS2010新建项目在解决方案新建项目,选择win32控制台应用程序,名称这里用uv_timer,然后点击确定。把该项目右键设置为启动项。代码编写设置一个定时器,3秒后启动,之后每秒执行,执行5次后停止#include "uv.h"unsigned int

2021-06-10 15:21:00 586

原创 libuv在windows环境下编译

libuv在windows环境下编译简介Libuv是一个跨平台的的基于事件驱动的异步io库。但是他提供的功能不仅仅是io,包括进程、线程、信号、定时器、进程间通信等。下面是来自官网对Libuv架构的介绍图。源码下载libuv代码托管地址https://github.com/libuv/libuvv1.x源码下载https://codeload.github.com/libuv/libuv/zip/refs/heads/v1.x准备工具1. cmake-guiCMake安装包下载:链接ht

2021-06-10 10:40:15 1634

原创 令牌桶限速C++实现

由于业务需求,要对总流量进行限速,做了一个C++版本的实现,基本满足业务要求。有需要的同学自行进行优化。a. 按特定的速率向令牌桶投放令牌b. 当桶中有足够的令牌则报文可以被继续发送下去,同时令牌桶中的令牌量按报文的长度做相应的减少;c. 当令牌桶中的令牌不足时,报文将不能被发送,只有等到桶中生成了新的令牌,报文才可以发送。这就可以限制报文的流量只能是小于等于令牌生成的速度,达到限制流量的目的。生产者按特定的速率向令牌桶投放令牌;消费者查看令牌桶的令牌,令牌充足消费相应数量的令牌,令牌不足丢弃相

2021-06-05 17:01:13 1897

原创 QQ音乐下载qmc0/3批量转MP3工具

qmc3转MP3工具运行环境:windows7 32bit编译环境:VS2010 + MFC使用方法:1,运行exe文件欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法...

2021-06-05 15:13:08 2485

原创 求X的N次方根

数学库函数扩展y与x符号相同,n不为0,主要使用pow函数进行拓展,返回值为0.0表示输入参数有误,其他为计算结果。double sqrtn(double x, unsigned int n){ double y = 0.0; double r = 1.0; int negtaive = 1; if (n == 0) { return 0.0; } if (n == 1) { return x;

2021-06-05 09:49:24 1275

原创 Makefile模板

#############################################################################target you can change test to what you want#共享库文件名,lib*.soTARGET := test.so#compile and lib parameter#编译参数CC ...

2019-07-17 14:28:22 80

原创 加密传输网关NAT穿越问题分析(一)

工作中把原本在局域网运行的加密传输网关配置成NAT出现会话协商OK,两侧的流量不通。测试环境:centos7加密网关两台路由器1台windows7 pc两台网络拓扑如图:问题现象:网关之间协商通,密钥可以同步,内网PC机1 192.168.31.50可以ping通PC机2 1.1.2.200,在软件ByPass的情况下PC1可以正常访问PC2,但是PC1的UDP流量可以发送到PC2,...

2019-06-04 11:42:35 816

ffmpeg-dc91b91-win32.rar

win32版本的ffmpeg库,编译环境win10+msys+mingw32,配合SDL2做简易播放器可运行

2021-07-12

Ping网段内的IP.bat

扫描某个网段的ip并保存结果到文件

2021-06-16

libuv1.41.zip

包括头文件和编译好的lib,dll动态库以及静态库; 使用方法见https://blog.csdn.net/hubei_dxx/article/details/117777801;

2021-06-10

windows下字符集转换基于libiconv-1.14 VS2010编译

是一个开源的字符编码转换库,实现utf-8,gb2312等各种常见的编码转换,解决乱码问题,使用VS2010编译,配置->C/C++->代码生成->运行库使用的是(/MDd) 可以直接使用,也可以根据需要自行配置 #include "iconv.h" #pragma comment(lib, "libIconv.lib")

2017-09-19

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

TA关注的人

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