前言

随着Internet技术的应用和普及,人类社会已经进入了网络时代。大多数应用程序都是运行在网络环境下,这就要求程序员能够在应用最广泛的Windows操作系统上开发网络应用程序。因此,各高校许多专业都开设了相关的课程。

开发网络应用程序必须首先了解网络的组成和工作原理,编者在多年开发网络应用程序和研究相关课程教学的基础上,将本书分为3篇。第1篇介绍基础网络协议,由第1~3章组成,全面讲解了Internet与网络通信模型、TCP/IP协议簇及其应用、IP地址和子网规划。第2篇介绍网络编程的基本方法,由第4~10章组成,比较详尽地讲解了网络编程基础、Socket编程基础、探测网络中的在线设备、NetBIOS网络编程技术、高级Socket编程技术、安全套接层协议(SSL)以及基于WinPcap技术的网络数据包捕获、过滤和分析技术,内容涉及很多目前比较流行的经典网络编程技术,对读者今后的实际工作有很强的指导和借鉴作用。第3篇提供了两个实用的案例,包括局域网探测器和基于P2P技术的BT下载工具,读者可以通过这些系统学习开发Windows网络应用程序的过程和技术,也可以在实例的基础上稍加修改,独立使用。另外,本书每章都配有相应的习题,帮助读者理解所学习的内容,使读者加深印象、学以致用。

自本书第1版出版以来,受到了很多读者的欢迎和关注,反馈了大量意见和建议。在本教材第2版的编写过程中,编者充分考虑到读者的反馈,对第1版教材进行了很多修改和完善。新增了安全套接层协议(SSL)编程,并将开发工具从Visual Studio 2005过渡为目前比较流行的Visual Studio 2012。

为了方便读者阅读和学习,编者根据本书内容另外提供实验、常见的Windows Sockets错误代码、使用Visual Studio 2012开发Visual C++应用程序等内容。由于篇幅有限,这部分内容将不作为本书的内容出现。同时,本书还提供PPT课件、程序源代码等。读者可以登录人民邮电出版社教学服务与资源网(http://www.ptpedu.com.cn)免费下载。

本书在内容的选择、深度的把握上充分考虑初学者的特点,内容安排上力求做到循序渐进,不仅适合于教学,也适合于开发Windows网络应用程序的各类培训组织和个人用户学习与参考。

由于编写水平有限,书中难免有不足之处,敬请广大读者批评、指正。

编者
2014年12月