具体描述
本书集中讨论了网络程序开发,内容主要包括网络的基础知识,Windows下这现网络通信的方法,如何利用MFC开发网络程序,ActiveX控件,以及如何将ActiveX控件应用在Web上,本书还讲述了ASP的概念和应用方法,ATL的概念和应用方法。
本书适合于准备利用VC开发网络应用程序的用户,特别是已经对Windows已经VC开发网络应用程序的用户,特别是已经对Windows已经VC开发已经了解的中高级用户。
作者简介
目录信息
1.1 Internet的发展历史
1.2 网络体系结构
1.3 网络基本设施
1.4 网络种类和局域网互连
1.5 各种主要的网络协议
1.6 Internet网络资源
1.7 Internet的访问方式
第2章 开发工具――Visual C++简介
2.1 MFC
2.2 Visual C++开发环境
2.3 用Appwizard创建MFC应用程序
2.4 例程源代码
第3章 MFC Winsock Classes编程
3.1 Internet网络编程基础知识
3.2 Windows Socket套接字简介
3.3 CAsyncSocket类
3.4 CSocket类
3.5 CSocket编程实例――聊天室(Client/Server)
第4章 MFC Winlnet Classes编程
4.1 WinInet类
4.2 创建Internet客户应用程序的步骤
4.3 WinInet类编程实例――HTTP/FTP资源下载应用程序
第5章 用MAPI创建邮件程序
5.1 消息应用程序接口(MAPI)
5.2 通用信报调用
5.3 简单信报调用
5.4 电子邮件发送例程
第6章 组件对象模型(COM)和OLE
6.1 组件和COM
6.2 OLE
6.3 MFC和OLE
6.4 ActiveX容器和ActiveX服务器
6.5 一个简单的ActiveX容器的例子
第7章 用MFC编写ActiveX控件
7.1 ActiveX控件概述
7.2 MFC创建ActiveX控件例程
7.3 给框架增加功能
7.4 测试控件
第8章 使用ATL编程
8.1 什么是ATL?
8.2 ATL和包容器程序
8.3 使用ATL来设计ActiveX控件的背景知识
8.4 利用ATL开发一个ActiveX控件
8.5 开发一个测试程序
8.6 对比组件模型
第9章 使用ActiveX控件激活Web
9.1 创建一个简单的网页
9.2 将控件加入网页
9.3 用Vbscript对控件进行编程
第10章 ASP
10.1 什么是ASP?
10.2 ASP可以做什么?
10.3 ASP怎样工作?
10.4 ASP中结合对象和组件
附录1 Internet术语释义
附录2 ICMPCOM.CPP的源代码
· · · · · · (收起)
读后感
用户评价
这本书的理论深度是毋庸置疑的,它在讲解C++语言特性,特别是MFC框架时,展现出一种近乎偏执的严谨性。我个人非常欣赏作者在描述对象继承、虚函数表结构时的那种毫不含糊的态度,这使得你在阅读时,能清晰地感受到程序的内存布局是如何被映射到代码之上的。但是,当我们进入到“Internet应用”的部分时,这种严谨性似乎被某种历史的惯性所牵引,未能完全跟上网络技术爆炸性的发展速度。例如,对于CGI(通用网关接口)的介绍,虽然是当时Web开发的主流方式,但其在安全性、性能上的固有缺陷在书中没有得到足够的警示或替代方案的对比。更令人感到遗憾的是,书中对ActiveX控件和早期浏览器脚本的集成部分,篇幅过大,且时过境迁,这些技术点如今已成为纯粹的历史遗迹。这使得这本书在知识的保鲜期上打了个折扣,很多章节读起来像是在翻阅一本关于古代工程学的精美图册,知识结构完整,但实用价值已经大幅缩水。
这本书的价值,在我看来,更多地体现在它作为历史文献的参考意义,而非当前项目开发的直接指南。它成功地记录了那个特定时期,使用C++和MFC技术栈,如何尝试将桌面应用与初生的万维网进行有限的交互。例如,书中对于如何通过COM接口调用IE浏览器的某些功能,或者如何使用MFC的`CHttpClient`类进行简单的文件上传下载,这些操作的底层实现逻辑,是理解Windows平台API演变历程的重要一环。但是,如果你期望这本书能指导你如何使用现代化的库,如Boost.Asio,或者理解基于事件驱动的非阻塞I/O模型在处理高并发Web请求时的效率优势,那么你必然会感到失望。它固守着那个时代的主流范式,对面向未来的编程思想缺乏前瞻性,使得我们现在必须花费额外的精力去“解构”这些代码,理解其核心逻辑,然后用更现代、更高效的工具链去重新实现一遍,这无疑是一种双重学习的负担。
这本书的封面设计非常具有那个时代的特色,带着一种厚重而务实的工业美感。我当初选择它,很大程度上是因为它明确指向了“Internet应用实务”,在那个拨号上网刚刚普及,网页三剑客还未完全退场的年代,这种结合了底层语言强大控制力和新兴网络技术的书籍简直是稀世珍宝。然而,当我真正沉下心来研读其中的章节时,发现它在实际操作的深度上,对比我期望的“实务”二字,还是略显保守了。书中对于Socket编程的讲解,虽然逻辑清晰,步骤详尽,但更多停留在TCP/IP协议的教科书式实现上,比如如何手动构造数据包的结构,如何处理底层的字节序转换。这对于想要快速搭建一个稳定HTTP服务器或者实现即时通讯功能的开发者来说,无疑是需要付出巨大努力去“翻译”成现代框架能理解的语言。我花了大量时间去研究它对Winsock API的封装细节,不得不说,这些细节的打磨确实体现了作者扎实的功底,但这种对底层细节的过度关注,使得应用层面的高级概念,比如异步I/O模型的优势、多线程模型的陷阱等,被轻轻带过,留给我后续学习的道路上留下了不少需要自行填补的空白地带。
从教学风格来看,这本书更像是一位经验丰富的、不善言辞的老师留下的笔记,它侧重于“做什么”而非“为什么这么做”。每一个代码片段都像是经过了无数次编译和调试的“黄金标准”,你只要严格照搬,理论上就能得到一个能跑起来的Demo。这种自上而下的指令式教学,对于初学者建立信心是极好的,我刚开始学习网络编程时,正是这些清晰的步骤指引我走出了迷茫。然而,一旦遇到书本上未曾预见的异常情况——比如特定版本操作系统下的API调用差异,或者不同ISP网络环境下的连接超时问题——书本的指导性就骤然下降了。它没有提供足够的故障排除(Troubleshooting)章节,也没有对常见错误码进行详尽的分类解析。这就好比给了你一张非常精确的地图,告诉你A点到B点的每一步都清晰无误,但如果你在途中遇到了临时封路,这张地图就显得束手无策,缺乏应变策略的指导。
我特别关注的是书中关于数据传输和安全性的论述部分。在那个安全意识尚未普及的年代,很多编程书籍会默认网络是“信任的”,数据传输是“无损的”。这本书虽然也涉及了一些基础的错误校验机制,比如校验和(Checksum),但在面对如今互联网环境下的复杂威胁时,显然是力不从心的。它没有深入探讨SSL/TLS协议的原理,也没有提及任何关于数据加密传输的最佳实践。我记得自己为了实现一个稍微安全一点的登录验证功能,不得不完全抛开书中的示例代码,转而查阅大量关于Base64编码和MD5散列的外部资料,并自己动手将它们强行嫁接到Visual C++ 6.0的工程中。这种“脱离教材,自行摸索”的过程,虽然锻炼了我的独立解决问题的能力,但也从侧面反映出这本书在“实务”层面未能提供一个足够现代化的安全基石。它更多地是教你如何把管子铺设好,却没告诉你管子里流淌的液体是否需要加盖密封。