11 2016 档案

异步设备IO:OVERLAPPED和IOCompletionPort
摘要:异步设备IO:OVERLAPPED和IOCompletionPort 本文内容为《windows核心编程》第10章内容的总结,仅记录一些本人感兴趣的内容。 1:OVERLAPPED “overlapped”的意思是执行IO请求的事件与线程执行其他任务的时间是重叠的(overlapped)。 over 阅读全文

posted @ 2016-11-30 17:09 炽离 阅读(2572) 评论(0) 推荐(0)

winsock编程WSAEventSelect模型
摘要:winsock编程WSAEventSelect模型 WSAEventSelect模型和WSAAsyncSelec模型类似,都是用调用WSAXXXXXSelec函数将socket和事件关联并注册到系统,并将socket设置成非阻塞模式。二者不同之处在于socket事件的通知方法:WSAAsyncSel 阅读全文

posted @ 2016-11-25 17:35 炽离 阅读(8038) 评论(0) 推荐(1)

工作线程基类TaskSvc
摘要:工作线程基类TaskSvc 前端时间用ACE写代码,发ACE_Task确实好用。不但能提供数量一定的线程,还能够让这些继承的线程函数自由访问子类的private和protected变量。此外,ACE_Task还提供了ACE_Message_Block的消息块及消息队列,能够自主定义消息,实现数据的异 阅读全文

posted @ 2016-11-23 17:19 炽离 阅读(959) 评论(0) 推荐(0)

winsock编程WSAAsyncSelect模型
摘要:winsock编程WSAAsyncSelect模型 WSAAsyncSelect模型也称异步选择模型,其核心函数是WSAAsyncSelect。它可以用来在一个socket上接收以windows消息为基础的网络事件。它提供了读写数据的异步通知功能,但不提供异步数据传送。WSAAsyncSelect模 阅读全文

posted @ 2016-11-23 16:47 炽离 阅读(8938) 评论(0) 推荐(0)

winsock编程select模型
摘要:winsock编程select模型 网络服务端连接数量过多时,为每一个连接申请一个线程会让机器性能急剧下降(大多说是因为线程在用户态和内核态之间切换会占用大量的CPU时间片)。为了解决多线程带来的性能下降问题,windows提供了5种网络编程模型。这其中,最简单的就是select模型。 select 阅读全文

posted @ 2016-11-22 20:52 炽离 阅读(2549) 评论(0) 推荐(0)

socket编程,简单多线程服务端测试程序
摘要:socket编程,简单多线程服务端测试程序 前些天重温了MSDN关于socket编程的WSAStartup、WSACleanup、socket、closesocket、bind、listen、accept、recv、send等函数的介绍,今天写了一个CUI界面的测试程序(依赖MFC)作为补充。程序功 阅读全文

posted @ 2016-11-21 17:29 炽离 阅读(2952) 评论(0) 推荐(0)

模板singleton模式的C++实现
摘要:模板singleton模式的C++实现 近期回过头整理了一下singleton模式,看了别人写的关于singleton的介绍。发现这个singleton模式虽然简单,但要写一个稳定/线程安全/泛型的模板singleton,还是需要一点技巧的。经过整理,要写一个模板的singlton至少需要以下几个知 阅读全文

posted @ 2016-11-21 16:31 炽离 阅读(4421) 评论(0) 推荐(0)

windows socket函数详解
摘要:windows socket函数详解 近期一直用第三方库写网络编程,反倒是遗忘了网络编程最底层的知识。因而产生了整理Winsock函数库的想法。以下知识点均来源于MSDN,本人只做翻译工作。虽然很多前辈都做已了此类工作,但亲力亲为总记得清楚点。 0:函数库头文件 1:WSAStartup 初始化Ws 阅读全文

posted @ 2016-11-18 14:09 炽离 阅读(45465) 评论(0) 推荐(3)

导航