摘要:
2009-07-21 13:01:32|分类: 模块/句柄 |标签: |字号大中小订阅利用一个函数VirtualQuery可以获取指定内存所在的模块:inlineHMODULE GetModuleFromAddr(PVOID p){ MEMORY_BASIC_INFORMATION m = {0}; VirtualQuery(p, &m, sizeof(MEMORY_BASIC_INFORMATION)); return (HMODULE) m.AllocationBase;}有了上面的函数,就非常容易获取当前模块的句柄(比如在静态LIB链接到DLL的项目中,需要知道模块句柄的情况): 阅读全文
摘要:
该是windows网络编程第二版里面提到过。现在整理一下。 1:在IOCP中投递WSASend返回WSA_IO_PENDING的时候,表示异步投递已经成功,但是稍后发送才会完成。这其中涉及到了三个缓冲区。 网卡缓冲区,TCP/IP层缓冲区,程序缓冲区。 情况一:调用WSASend发送正确的时候(即立即返回,且没有错误),TCP/IP将数据从程序缓冲区中拷贝到TCP/IP层缓冲区中,... 阅读全文
摘要:
分类: C++ Win322009-10-25 16:10 3348人阅读 评论(6) 收藏 举报 今天在写一个SetWinEventHook的程序时,编译通过,link时,弹出了如下的错误: Linking... uuid.lib(oleidl_i.obj) : fatal error LNK1103: debugging information corrupt; recom... 阅读全文
摘要:
一. 摘要 Raw Socket: 原始套接字 可以用它来发送和接收 IP 层以上的原始数据包, 如 ICMP, TCP, UDP... int sockRaw = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); 这样我们就创建了一个 Raw Socket Sniffer: 嗅探器 关于嗅探器的原理我想大多数人可能都知... 阅读全文
摘要:
分类: 每日学习笔记2009-11-30 21:17 993人阅读 评论(0) 收藏 举报 用户异常掉线检测 David.Zhu 2005/6/1 目前主要有三种方法来实现用户掉线检测:SO_KEEPALIVE ,SIO_KEEPALIVE_VALS 和Heart-Beat线程。 下面我就上面... 阅读全文
摘要:
2010-09-03 20:39 218016人阅读 评论(6) 收藏 举报 VC6.0 最新的 SDK platform sdk xp-sp2 官方下载地址 20:19:09 2010-09-03 可见微软已经不再对 VC6 支持了,最新的 SDK 已经不能在 VC6 上使用。但是还是可以找到支持 VC6 的最后两个版本: For Server2003 3790.0 RTM:... 阅读全文
摘要:
2010-03-15 17:47:16| 分类: IOCP编程 | 标签: |字号大中小 订阅 在前一篇文章《WinSock2编程之打造完整的SOCKET池 》中,介绍了WinSock2的一些新函数,并重点详细介绍了什么是SOCKET池,有了这个概念,现在就接着展开更深入的讨论。 首先这里要重点重申一下就是,SOCKET池主要指的是使用面向连接的协议的情况下,最常用的就是需要管理大量的TC... 阅读全文
摘要:
new / delete malloc / free CoTaskMemAlloc / CoTaskMemFree IMalloc::alloc / IMalloc/free GlobalAlloc / GlobalFree LocalAlloc / LocalFree HeapAlloc / HeapFree VirtualAlloc / VirtualF... 阅读全文
摘要:
2010-03-19 17:04:04| 分类: 游戏引擎编程|字号 订阅 写了很多关于IOCP和OLEDB的文章,今天换个话题,不然很多网友都以为俺就是一服务端程序,其实我真正的身份是——程序员,什么都写的程序员,呵呵呵。 这回讨论的话题主要集中到游戏引擎上来,目前国内游戏行业比较火爆,但是基础性的研究、技术资料都比较少,本人撰写这个系列,权当为产业尽绵薄之力。或者当做引玉之砖吧。 关于... 阅读全文
摘要:
2008年10月11日 星期六 下午 04:43 在Win32的GUI程序中,没有控制台窗口,我们输出调试信息时有些不方便,以往我的做法是使用MessageBox弹出对话框、OutputDebugString向VS的调试窗口输出信息等,但总感觉不如控制台输出几句printf有效率。经过尝试发现GUI程序照样能够拥有(且仅能够拥有一个)控制台窗口,具体做法如下: #include <locale... 阅读全文