- 1
- 0
- 约4.42万字
- 约 26页
- 2021-11-28 发布于福建
- 举报
手把手教你玩转网络编程模型系列之三
完成端口 (CompletionPort) 篇
By PiggyXP( 小猪 )
前言
完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文
档总是在酝酿之中 ……酝酿了两年之后,终于决定开始动笔了,但愿还不算晚 …..
这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的编程模型方方面面的信息,
从 API 的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋
友们更直观的体会完成端口的用法,本文附带了有详尽注释的使用 MFC 编写的图形界面的示例代码。
我的初衷是希望写一份互联网上能找到的最详尽的关于完成端口的教学文档,而且让对 Socket 编程
略有了解的人都能够看得懂,都能学会如何来使用完成端口这么优异的网络编程模型,但是由于本人水平
所限,不知道我的初衷是否实现了,但还是希望各位需要的朋友能够喜欢。
由于篇幅原因,本文假设你已经熟悉了利用 Socket 进行 TCP/IP 编程的基本原理,并且也熟练的掌
握了多线程编程技术,太基本的概念我这里就略过不提了,网上的资料应该遍地都是。
本文档凝聚着笔者心血,如要转载,请指明原作者及出处,谢谢!不过代码没有版权,可以随便散播
使用,欢迎改进,特别是非常欢迎能够帮助我发现 Bug 的朋友,以更好的造福大家。 ^_^
本文配套的示例源码下载地址(在我的下载空间里)
/
( 里面的代码包括 VC++2008/VC++2010 编写的完成端口服务器端的代码, 还包括一个对服务器端
进行压力测试的测试代码,都是经过我精心调试过,并且带有非常详尽的代码注释的。当然,作为教学代
码,为了能够使得代码结构清晰明了,我还是对代码有所简化,如果想要用于产品开发,最好还是需要自
己再完善一下,另外我的工程是用 2010 编写的,附带的 2008 工程不知道有没有问题,但是其中代码都
是一样的,暂未测试 )
忘了嘱咐一下了,文章篇幅很长很长,基本涉及到了与完成端口有关的方方面面,一次看不完可以分
好几次,中间注意休息,好身体才是咱们程序员最大的本钱!
对了,还忘了嘱咐一下,因为本人的水平有限,虽然我反复修正了数遍,但文章和示例代码里肯定还
有我没发现的错误和纰漏,希望各位一定要指出来,拍砖、喷我,我都能 Hold 住,但是一定要指出来,
我会及时修正,因为我不想让文中的错误传遍互联网,祸害大家。
OK, Let ’s go ! Have fun!
目录:
1 . 完成端口的优点
2 . 完成端口程序的运行演示
3 . 完成端口的相关概念
4 . 完成端口的基本流程
5 . 完成端口的使用详解
6 . 实际应用中应该要注意的地方
一. 完成端口的优点
1. 我想只要是写过或者想要写 C/S 模式网络服务器端的朋友, 都应该或多或少的听过完成端口的大名吧,
完成端口会充分利用 Windows 内核来进行 I/O 的调度,是用于 C/S 通信模式中性能最好的网络通信
模型,没有之一;甚至连和它性能接近的通信模型都没有 。
2. 完成端口和其他网络通信方式最大的区别在哪里呢?
(1) 首先,如果使用“同步”的方式来通信的话,这里说的同步的方式就是说所有的操作都在一个线
程内顺序执行完成,这么做缺点是很明显的:因为同步的通信操作会阻塞住来自同一个线程的任何其
他操作, 只有这个操作完成了之后, 后续的操作才可以完成; 一个最明显的例子就是咱们在 MFC 的界
面代码中,直接使用阻塞 Socket 调用的代码,整个界面都会因此而阻塞住没有响应!所以我们不得
您可能关注的文档
- 我对计算机未来发展的看法参照.pdf
- 我的嵌入式学习之路知识.pdf
- 我的毕业规划宣贯.pdf
- 我的libsvm文档java文档归纳.pdf
- 战士宏命令分享.pdf
- 手工创建数据库(在oracle11g中)宣贯.pdf
- 手工皂新手入门知识.pdf
- 手把手教你组建无线局域网实用.pdf
- 手掌穴位可治病参照.pdf
- 手机受芯片厂商追捧宣贯.pdf
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- 面向产业的算法治理研究(2025年).pptx
- 梵音入汉:佛经汉译对汉语演进的多维影响.docx
- 小学低段音乐课堂管理方法的研究课题资料(包含申请表、开题报告、实施方案、结题报告等).pdf VIP
- 2026《隧道贯通误差预计计算案例》4000字.docx
- 2022-2023学年北京市丰台区高二(下)期末数学试卷(附答案详解).docx VIP
- 5m盐酸溶液的配制 -回复.pdf VIP
- 2026年新疆工程学院辅导员招聘备考题库最新.docx VIP
- 2026年新疆财经大学辅导员招聘备考题库必考题.docx VIP
- 2026年新疆农业大学辅导员招聘备考题库附答案.docx VIP
- 现代金属凝固技术课件(9056KB).ppt VIP
原创力文档

文档评论(0)