- 博客(39)
- 资源 (37)
- 收藏
- 关注
转载 SOCKET通信中TCP、UDP数据包大小的确定
TCP、UDP数据包大小的确定 UDP和TCP协议利用端口号实现多项应用同时发送和接收数据。数据通过源端口发送出去,通过目标端口接收。有的网络应用只能使用预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP和TCP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。动态端口的范围是从1024到65535。 MTU最大传输单
2016-12-23 10:17:43 979
原创 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
原创 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
原创 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
转载 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
转载 从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
原创 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管道通信
2020-08-13
dll注入和API拦截测试代码.rar
2020-08-11
使用NVIDIA FX Composer工具验证多张纹理合成效果
2023-07-18
显示器带宽计算.zip
2021-09-01
颜色和HDR知识总结.pptx
2021-06-24
压缩纹理通过d3d9和cuda进显存速度对比3 (测试100次平均值)
2020-12-16
压缩纹理通过d3d9和cuda进显存速度对比2
2020-12-04
压缩纹理通过d3d9和cuda进显存速度对比
2020-07-25
vld内存泄露检测工具
2018-11-02
COM组件例子程序
2018-10-24
网络唤醒开机
2018-10-15
MPC-HC播放器源代码
2018-08-30
COM组件用例和测试代码V2
2018-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人