自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (37)
  • 收藏
  • 关注

原创 UDP首部

2016-12-23 15:31:45 489

原创 IP首部

2016-12-23 15:30:36 378

转载 SOCKET通信中TCP、UDP数据包大小的确定

TCP、UDP数据包大小的确定    UDP和TCP协议利用端口号实现多项应用同时发送和接收数据。数据通过源端口发送出去,通过目标端口接收。有的网络应用只能使用预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP和TCP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。动态端口的范围是从1024到65535。      MTU最大传输单

2016-12-23 10:17:43 979

原创 IP分片

2016-12-23 10:14:11 386

原创 traceroute程序的实现

TraceRoute(tracert)实现原理 :http://blog.csdn.net/microtong/article/details/3220450TraceRoute(tracert)源码(基于原始套接字实现) :http://blog.csdn.net/microtong/article/details/3220463TraceRoute(tracert)源码

2016-12-22 14:30:32 3439

原创 ICMP报文类型

2016-12-22 14:08:58 560

原创 windows下面调用tracert命令抓包

命令调用如下:抓包情况如下:

2016-12-22 13:57:46 18334 3

原创 arp根据IP查找mac地址的过程

整个过程如下所示:1.首先arp协议会发送一条arp广播消息,寻找对应IP地址的mac地址。2.目标主机会回复一条arp消息,告诉它自己的IP地址和mac地址。

2016-12-21 17:12:51 13327 1

原创 Unicode(UTF16)、UTF8、ansi编码格式字符串之间相互转换

C++标准模板库只能实现宽字符和utf8编码格式字符串之间的转换,而且这个功能在c++11引入,在C++17中废弃,所以不建议使用,如果需要跨平台,建议使用 ICU(International Components for Unicode)库。C++ 标准库没有直接提供 ANSI 和 UTF-8 之间的转换功能,但你可以使用第三方库,例如 ICU(International Components for Unicode),或者在 Windows 平台上使用特定的 API 进行转换。

2016-12-21 16:12:02 15208

转载 sqlite中文乱码问题原因分析及解决(utf8和ascii相互转换)

转自:http://www.jb51.net/article/35778.htm通过sqlite3.dll接口对sqlite数据库进行操作,包括打开数据库,插入,查询数据库等,如果操作接口输入参数包含中文字符,会导致操作异常。例如调用sqlite3_open打开数据库文件,如果文件路径出现中文,就会导致打开失败。sqlite3_exec执行sql语句,如果包含中文对应字符就会变成乱码。

2016-12-21 10:35:01 30987

原创 数据从网络层发送到以太网经过的过程

2016-12-19 17:53:32 799

原创 Windows不弹出异常错误框

在应用程序中添加如下代码就能避免弹出异常错误框void __cdecl _my_invalid_parameter_handler(const wchar_t* expression,const wchar_t* function,const wchar_t* file,unsigned int line,uintptr_t){        wchar_t tips[256]

2016-12-19 11:41:55 1787

原创 TCP首部

2016-12-16 10:57:24 280

原创 IP首部简介

2016-12-15 13:52:05 394

转载 Windows Socket五种I/O模型

Winsock 的I/O操作:1、 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误。但功能强大。为了解决

2016-12-09 17:46:49 1469

转载 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三

转载自:http://blog.csdn.net/PiggyXP/article/details/6922277前 言         本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,终于决定开始动笔了,但愿还不算晚…..        这篇文档我非常详细并且图文并茂的介绍了关于网络编程

2016-12-09 17:44:29 919

转载 手把手教你玩转网络编程模型之完成例程(Completion Routine)篇(下)

四.        完成例程的实现步骤基础知识方面需要知道的就是这么多,下面我们配合代码,来一步步的讲解如何亲手实现一个完成例程模型(前面几步的步骤和基于事件通知的重叠I/O方法是一样的)。【第一步】创建一个套接字,开始在指定的端口上监听连接请求和其他的SOCKET初始化全无二致,直接照搬即可,在此也不多费唇舌了,需要注意的是为了一目了然,我去掉了错误处理,平常

2016-12-09 16:22:53 772

转载 手把手教你玩转网络编程模型之完成例程(Completion Routine)篇(上)

前  言记得写这个系列的上一篇文章的时候已经是四年前了,准确的说是四年半以前了,翻开我尘封已久的IO模型里面的“完成例程”的实现方式及示例代码。本文凝聚着笔者心血,如要转载,请指明原作者及出处,谢谢!不过代码写得不好,欢迎改进,而且没有版权,请随便散播、使用。OK, Let’sGo ! Have fun! 本文配套的示例源码下载地址(在我的下载空间里)

2016-12-09 16:21:09 1288 1

转载 手把手教你玩转SOCKET模型之重叠I/O篇(下)

四。     实现重叠模型的步骤作了这么多的准备工作,费了这么多的笔墨,我们终于可以开始着手编码了。其实慢慢的你就会明白,要想透析重叠结构的内部原理也许是要费点功夫,但是只是学会如何来使用它,却是真的不难,唯一需要理清思路的地方就是和大量的客户端交互的情况下,我们得到事件通知以后,如何得知是哪一个重叠操作完成了,继而知道究竟该对哪一个套接字进行处理,应该去哪个缓冲区中的取得数据

2016-12-09 15:43:04 1008

转载 手把手教你玩转SOCKET模型之重叠I/O篇(上)

手把手教你玩转SOCKET模型之重叠I/O篇 “身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人。我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付出时的吝啬。”                                                            

2016-12-09 15:41:39 1874 2

转载 IO完成端口用于socket通信

http://blog.csdn.net/u012501459/article/details/48182783

2016-12-09 09:05:00 479

转载 multimap使用和排序

如果键值是string型,直接输出就可以了,multimap是排好序了的,如果你要用C风格字符串,就自定义一个排序规则,需要在创建 multimap的时候做:[cpp] view plain copy print?#include   #include   #include   using namespace std;    struct cstrc

2016-12-08 15:33:40 9574

原创 搜索文件和改变文件属性

The following example copies all text files in the current directory to a new directory of read-only files named \TEXTRO. Files in the new directory are changed to read only, if necessary.The

2016-12-08 14:00:05 260

原创 10款“程序猿”和“射击湿”不可不用的在线资源和工具网站

http://igeekbar.com/igeekbar/post/158.htm?ref=myread

2016-12-08 11:11:50 1333

原创 修改环境变量(GetEnvironmentVariable、SetEnvironmentVariable、GetEnvironmentStrings)

Each process has an environment block associated with it. The environment block consists of a null-terminated block of null-terminated strings (meaning there are two null bytes at the end of the b

2016-12-08 10:42:42 4116

原创 到搜索DLL的路径中插入一个路径(SetDllDirectory)

Adds a directory to the search path used to locate DLLs for the application.SyntaxC++CopyBOOL WINAPI SetDllDirectory( _In_opt_ LPCTSTR lpPathName);Parameters

2016-12-08 09:04:43 6991

原创 各种内核对象用于线程同步的区别

2016-12-07 11:49:24 611

原创 关键段和互斥量的区别

2016-12-07 11:43:59 721

原创 互斥量内核对象的使用

2016-12-07 11:07:50 316

原创 信号量内核对象的使用规则

2016-12-07 10:51:43 436

转载 从SetTimer看Windows消息处理机制

本文说明两个问题:1.windows的消息处理机制;2.怎么往SetTimer的回调函数传递参数。首先看第一个问题,我们都知道windows是消 息驱动的,windows呈现给用户的任何可以看到听到的东西几乎都是消息驱动的,在底层windows为每个线程准备了一个消息队列,如果用户线程注册了某个消息,那么在适当的时候windows就会将消息投递到该线程的消息队列中,然后由该线程

2016-12-06 20:59:09 1798

原创 可等待计时器内核对象的使用(CreateWaitableTimer)

The CreateWaitableTimer function creates or opens a waitable timer object.HANDLE CreateWaitableTimer( LPSECURITY_ATTRIBUTES lpTimerAttributes, // SD BOOL bManualReset,

2016-12-06 16:51:37 505

原创 一些防止多线程同步造成死锁的技巧

2016-12-06 11:55:50 1307

原创 windows 使用关键段和条件变量实现的生产者和消费者线程同步

关键段比较简单,调用函数如下:VOID InitializeCriticalSection( LPCRITICAL_SECTION lpCriticalSection );//初始化一个关键代码段VOID EnterCriticalSection( LPCRITICAL_SECTION lpCriticalSection);//获取关键代码段的访问权VOID Leave

2016-12-06 10:52:49 1329

原创 Windows 中线程同步轮询检查一个变量的错误使用

1.错误代码如下:BOOL g_fFinishedCalculation=FALSE;int main(void){ _beginthreadex(..,RecalcFunc,...); while(!g_fFinishedCalculation); ... return 0;}unsigned __stdcall RecalcFunc(void*

2016-12-05 19:31:03 254

原创 Windows API实现的栈及使用(支持线程安全,以原子方式操作)

InitializeSListHead:创建一个空栈。InterlockedPushEntrySList:在栈顶添加一个元素。InterlockedPopEntrySList:移除位于栈顶的元素并将它返回。InterlockedFlushSList:清空栈。QueryDepthSList:返回栈中元素的数量。使用方法:#include #include //

2016-12-05 17:57:26 816

转载 c++ stl栈stack使用

c++ stl栈stack使用C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。c++ stl栈stack的头文件为: #include  c++ stl栈stack的成员函数介绍操作 比较和分配堆栈empty() 堆栈为空则返回真pop() 移除栈顶元素push() 在栈

2016-12-05 17:51:25 544

转载 C++ STL stack实现(栈)

1)Stack是一种关联容器,是通过简单地修饰线性类deque的接口而获得的另一种“容器类”,往往被归结为配接器(adapter)而不是容器(container)。                 stack不能遍历,所以没有迭代器!!!                 底层容器除了 deque外还可采用 list。

2016-12-05 17:49:22 6007 1

原创 读取配置文件封装类(GetPrivateProfileString)

配置文件定义如下:;上级SIP网关配置(SIP服务端)[SIPServer];上级域名DN=34020000GBID=34020000002000000001IP=192.168.1.77Port=5060;SIP资源服务器配置(SIP客户端)[SIPResServer];国标IDGBID=34020100002000000001;鉴权密码PWD=12345678;

2016-12-04 17:10:07 712

windows管道通信

windows进程间通信的管道通信技术,调用简单,使用方便。 服务端: 1.使用API函数CreateFile建立与命名管道的连接。 2.使用API函数WriteFile和ReadFile分别向客户端发送数据或从客户端接收数据。 3.使用API函数CloseHandle关闭打开的命名管道会话。 客户端: 1.使用API函数WaitNamedPipe等待一个命名管道实例供自已使用。 2.使用API函数CreateFile建立与命名管道的连接。 3.使用API函数WriteFile和ReadFile分别向服务器端发送数据或从服务器端接收数据。 4.使用API函数CloseHandle关闭打开的命名管道会话。

2020-08-13

dll注入和API拦截测试代码.rar

1.被注入的程序为:10 Camera 2.主动注入的程序为:inject 3.注入的dll为:hookDll 4.注入的dll截取的窗口图像在文件夹:“拦截图像” 描述:程序inject负责将hookDll动态库注入到10 Camera进程,然后hookDll会拦截Present函数调用。(拦截API使用Detours-4.0.1库文件,动态库注入使用CreateRemoteThread函数)

2020-08-11

Debug Diagnostic Tools生成内存分析文件

Debug Diagnostic Tools生成内存分析文件

2017-08-02

gRPC使用demo(只测试Release版本)

gRPC使用demo(只测试Release版本)

2017-08-02

创建Windows系统服务demo2(c++版)

如何用c/c++ 创建windows系统服务。

2017-01-22

windows服务安装与卸载(命令和截图)

windows命令行下服务安装与卸载

2016-08-17

创建windows服务程序的demo

创建windows系统服务的demo

2016-08-17

RTSP请求客户端

rtsp客户端的c++实现,实现了RTP基于TCP和UDP传输数据,里面有bug的地方希望大家指正。

2016-08-13

c++实现反射demo

用c++实现了反射

2016-08-09

对几种队列的总结

里面有几种队列的源代码

2016-08-09

Windows下面的UDP和TCP通信demo

Windows下面的UDP和TCP通信demo

2016-08-09

系统服务程序

系统服务程序

2016-08-09

IEventHandler

事件注册代码

2016-08-09

CMarkeup类

CMarkeup 解析XML

2016-08-09

log4z的使用

log4z

2016-08-09

ConnectManager

ConnectManager

2016-08-09

CMarkUp_使用简介

CMarkUp_使用简介

2016-08-09

ice 的样例文件

ice 的样例文件

2016-08-09

ICE 的安装及在vs2013里面的配置

ICE 的安装及在vs2013里面的配置

2016-08-09

ICE 的聊天demo 含有ICE的配置文档

ICE 的聊天demo,里面含ICE的安装和到vs2013里面的配置

2016-08-09

NVIDIA FX Composer工具安装包

NVIDIA FX Composer工具安装包

2023-07-18

使用NVIDIA FX Composer工具验证多张纹理合成效果

这是一个NVIDIA FX Composer工具的完整工程,里面验证了4张带有透明通道的纹理(一张底图,中间是一张淡入,一张淡出图,最上面是一张前景图,每张纹理都带有一个全局透明度)的合成效果,可以通过参数修改控制透明度的值来查看合成纹理的实时变化效果。

2023-07-18

NVIDIA FX Composer工具的使用说明书

如果想知道NVIDIA FX Composer工具如何使用请下载此文档

2023-07-18

显示器带宽计算.zip

里面包含CVTR2参数计算、CVTR2行业规范、显示接口相容表3个文档,前面的文档可以通过输入显示器分辨率计算需要的带宽,后面的文档有描述不同分辨率的显示器对应的线材要求

2021-09-01

颜色和HDR知识总结.pptx

大概介绍了1.颜色的由来 2.CIE XYZ颜色空间的由来 3.色域马蹄图的由来 4.常用的色域空间 5.显示器为什么会偏色 6.视频图像质量的5要素 7.什么是HDR? HDR的几种标准

2021-06-24

FullScreenMultiWnd.rar

d3d9多屏幕创建全屏程序

2021-01-19

压缩纹理通过d3d9和cuda进显存速度对比3 (测试100次平均值)

压缩纹理通过d3d9和cuda进显存速度对比,此demo测试了压缩纹理通过d3d9进显存,同样数据大小通过cuda进显存,和通过cuda从显存拷贝到内存的速度。

2020-12-16

压缩纹理通过d3d9和cuda进显存速度对比2

压缩纹理通过d3d9和cuda进显存速度对比,此demo测试了压缩纹理通过d3d9进显存,同样数据大小通过cuda进显存,和通过cuda从显存拷贝到内存的速度。

2020-12-04

压缩纹理通过d3d9和cuda进显存速度对比

压缩纹理通过d3d9和cuda进显存速度对比,此demo测试了压缩纹理通过d3d9进显存,同样数据大小通过cuda进显存,和通过cuda从显存拷贝到内存的速度。

2020-07-25

vld内存泄露检测工具

VLD是一款用于VisualC++的免费内存泄漏检查工具。可以在codeproject.com网站上找到,相比其它的内存泄漏哦给你根据,他在检查内存泄漏的同事,还具有如下特点: 1) 可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在的文件及行号; 2) 可以得到泄漏内存的完整数据; 3) 恶意设置内存泄漏报告的级别; 4) 它以动态库的形式提供,无需编译源代码,只需要很小的改动程序; 5) 源代码使用GNU许可发布,并有详细的文档及其注释。

2018-11-02

COM组件例子程序

COM组件,里面有4个工程,DictCtrl为客户程序工程,Dictionary为进程外组件工程,Dictionary2为进程内组件工程,DictPrxy为代理/存根dll工程。

2018-10-24

网络唤醒开机

  远程开机这个功能实在屌爆了,工作中会经常遇到需要远程开机的情景,比如说,晚上在家里,突然接到领导的电话需要改东西,然而家里的电脑又没有工作环境,各种工具软件都没有安装,这时如果往公司跑一趟真是麻烦,或者需求等不及你往公司跑一趟,也许这途中公司会损失更多。或者,晚上在家里工作了,第二天忘记把资料带回公司,这时远程开机也显得尤为重要。总之,如果你有远程办公的需求,就会用到远程开机。

2018-10-15

MPC-HC播放器源代码

MPC-HC播放器一个经典的影音播放器,可播放CD、VCD、DVD、及MP3、MP4、AVI、AAC等多种影音格式。与此同时,它还是开源的。很多知名的视频播放器都是在它的基础上建立起来的,在这里就不例举了。

2018-08-30

COM组件用例和测试代码V2

编写了一个完整的COM组件,非常适合初学者学习使用,里面有3个工程,第一个工程产生的COM组件被第二个工程产生的COM组件聚合,第三个公司为测试工程,目的是测试前面2个工程生成的COM组件的使用。

2018-06-25

COM组件用例和测试代码

编写了一个完整的COM组件,非常适合初学者学习使用,里面有2个工程,一个是COM组件,一个是测试代码。

2018-06-23

gRPC测试demo

此demo通过海康网络库或者摄像机数据,然后通过gRPC将数据传输到解码进程解码。

2017-08-04

Debugdiag内存分析文件

Debugdiag内存分析文件

2017-08-02

CMake工具(用来创建window解决方案)

CMake工具(用来创建window解决方案)

2017-08-01

git工具(从GitHub获取源代码)

可以从github获取源代码

2017-08-01

空空如也

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

TA关注的人

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