Windows网络编程课程设计
作者 : 罗军勇,刘琰,常斌
出版日期 : 2014-01-09
ISBN : 978-7-111-44433-6
定价 : 39.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 254
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书特色

本书面向网络编程的初学者,着眼于Windows网络编程基本技能的训练和强化,采用Visual Studio C++作为实验环境,设计了Windows系统中网络编程的延续性单元实践和可扩展专题实践项目,帮助学生系统掌握网络数据处理的原理和方法,深入实践Windows系统中的网络编程技术,培养学生更高层次的网络程序组织、运行分析和故障诊断能力,为学生将来从事网络技术研究、网络应用程序开发和网络管理等工作打下坚实的基础。
本书特点
实践内容的组织充分考虑了教学过程的可实施性,设计了前后贯穿的延续性单元实践项目,突出编程方法的差异性;设计了由浅入深的可扩展专题实践项目,丰富实践内容,强化学习效果。
针对各章内容给出了操作分析类、程序设计类和程序分析类3大类共21个实践项目,每个项目都给出了要求、内容、过程示例、总结与思考,使学生能了解编程思路,熟悉编程技巧,进而快速提高编程能力。
为读者提供示例源代码,有需要者可登录华章网站(www.hzbook.com)下载。

图书前言

在信息化高度发展的今天,网络应用层出不穷,技术日新月异。越来越多的应用运行在网络环境下,这就要求程序员能够在最普及的Windows操作系统上开发网络应用程序。目前,国内大批专门从事网络技术开发与技术服务的研究机构和高科技企业需要网络基础扎实、编程技术精湛的专业技术人才。作为计算机网络课程体系的重要组成部分,网络编程相关课程已在国内各大高校开设。
  网络应用程序具有理论与实践结合紧密、编程模型可复用、运行结果受环境影响大等特点。着眼于Windows网络编程基本技能的训练和强化,本书内容的组织充分考虑了教学过程的可实施性,设计了前后贯穿的延续性单元实践项目,突出编程方法的差异性;设计了由浅入深的可扩展专题实践项目,丰富实践内容,强化学习效果。通过本书内容的学习,读者可以深入实践Windows系统中网络编程的基本方法,系统掌握网络数据处理的原理和技术,为将来从事网络技术研究、网络应用程序开发和网络管理等工作打下坚实的基础。
  本书共分7章,并在最后提供了一个附录,主要内容如下:
  第1章利用Windows系统中的两个常用网络分析工具:网络流量捕获工具Wireshark和网络状态显示工具Netstat,并选择邮件登录和迅雷软件下载两种常见的网络应用,完成软件运行过程分析工作,目的在于帮助学生熟悉常用的网络编程辅助工具,掌握网络应用程序的调试和分析技能。
  第2章重点阐述Windows Sockets的基本组成和Windows Sockets编程接口的具体功能,通过主机IP地址获取的简单设计类项目来熟悉和掌握Windows Sockets编程基本方法,目的在于帮助学生熟悉Windows Sockets接口函数的具体功能,掌握使用Windows Sockets的基本配置和开发过程。
  第3章阐述流式套接字编程的适用场合和基本方法,在此基础上,通过一系列项目来训练学生掌握循环方式和并发方式下的流式套接字编程、网络通信的框架设计、基于流式套接字的网络程序的故障分析、字节流处理的接收控制和效率提升等。
  第4章阐述数据报套接字编程的适用场合和基本方法,在此基础上,设计了三个设计类实践项目,力图训练学生掌握数据报套接字编程、基于无连接传输服务的数据报套接字网络程序的故障分析等。
  第5章阐述原始套接字编程的适用场合和基本方法,在此基础上,由简到繁设计了三个设计类实践项目,力图训练学生掌握原始套接字的基本使用方法和高级参数设置,帮助学生熟练使用原始套接字,灵活控制底层传输协议,实现更低层次的网络应用程序。
  第6章选择三个在不同规模I/O环境下最常用的模型,即I/O复用模型、WSAAsyncSelect模型和完成端口模型,设计了三个综合性较强的设计类项目进行训练,目的在于进一步拓展学生对Windows套接字的实践能力,在前面单元训练的基础上,对代码进行组合和改进,满足现实应用对效率、处理规模等的需求。
  第7章以WinPcap框架中wpcap.dll接口的使用为重点,设计了两个链路层数据通信的实践项目:ARP欺骗和用户级网桥,目的在于扩展学生对原始帧的接收与发送、网卡操控等的处理能力。
  附录部分给出了Windows Sockets错误码和错误原因。
  为了方便读者阅读和学习,编者根据本书内容另外提供了使用Visual Studio 2008开发的Visual C++应用程序源代码,读者可以登录华章网站(http://www.hzbook.com)免费下载。
  本书由解放军信息工程大学网络空间安全学院组织编写,刘琰参与了本书全部章节的撰写和示例代码编码,罗军勇教授参与了部分内容的编写并审校了全书,常斌完成了本书教学资源的制作和整理。内蒙古医科大学王晓东老师参与了第6、7章的编写及相关工作。
  本书是编者根据多年开发网络应用程序和研究相关课程教学的经验,并在多次编写的内部交流讲义的基础上修改而成的。由于网络技术的快速发展,再加之作者水平有限,疏漏和错误之处在所难免,恳请读者和有关专家不吝赐教。
  
  编 者  
  2013年6月

上架指导

计算机\网络

封底文字

本书面向网络编程的初学者,着眼于Windows网络编程基本技能的训练和强化,采用Visual Studio C++作为实验环境,设计了Windows系统中网络编程的延续性单元实验和可扩展专题实验,帮助学生系统掌握网络数据处理的原理和方法,深入实践Windows系统中的网络编程技术,培养学生更高层次的网络程序组织、运行分析和故障诊断能力,为学生将来从事网络技术研究、网络应用程序开发和网络管理等工作打下坚实的基础。
本书特点:
 实践内容的组织充分考虑了教学过程的可实施性,设计了前后贯穿的延续性单元实验,突出编程方法的差异性;设计了由浅入深的可扩展专题实验,丰富实践内容,强化学习效果。
 针对各章内容给出了操作分析类、程序设计类和程序分析类3大类共21个实验题目,每个实验都给出了实验要求、实验内容、实验过程示例、实验总结与思考,使学生能了解整个编程思路,熟悉编程技巧,进而快速提高编程能力。
 为读者提供示例源代码,有需要者可登录华章网站(www.hzbook.com)下载。

加主教材小封面、定价、书号

作者简介

罗军勇:暂无

刘琰:暂无

常斌:暂无

图书目录

前言
教学和阅读建议
第1章 网络应用程序运行分析 1
1.1 实验目的 1
1.2 网络流量捕获工具 1
1.2.1 Wireshark的安装和卸载 2
1.2.2 Wireshark用户界面 4
1.2.3 使用Wireshark进行数据报文捕获 18
1.2.4 捕获过滤 20
1.2.5 处理捕获数据报文 22
1.3 网络状态显示工具 27
1.3.1 Netstat命令 27
1.3.2 Netstat参数功能 27
1.4 网页邮件登录过程分析 28
1.4.1 实验要求 28
1.4.2 实验内容 28
1.4.3 实验过程示例 28
1.4.4 实验总结与思考 32
1.5 迅雷软件运行过程分析 32
1.5.1 实验要求 32
1.5.2 实验内容 33
1.5.3 实验过程示例 34
1.5.4 实验总结与思考 39
第2章 Windows Sockets编程基础 40
2.1 实验目的 40
2.2 Windows Sockets 40
2.2.1 Windows Sockets规范 40
2.2.2 Windows Sockets版本 41
2.2.3 Windows Sockets组成 42
2.3 Windows Sockets编程接口 43
2.3.1 Windows Sockets API 43
2.3.2 Windows Sockets DLL的初始化和释放 46
2.4 获取主机的IP地址 47
2.4.1 实验要求 47
2.4.2 实验内容 48
2.4.3 实验过程示例 48
2.4.4 实验总结与思考 51
第3章 基于流式套接字的网络程序设计 52
3.1 实验目的 52
3.2 流式套接字编程要点 52
3.2.1 TCP——传输控制协议 53
3.2.2 流式套接字的通信过程 53
3.2.3 流式套接字编程模型 54
3.3 基于流式套接字的时间同步服务器设计 55
3.3.1 实验要求 55
3.3.2 实验内容 56
3.3.3 实验过程示例 56
3.3.4 实验总结与思考 61
3.4 流式套接字网络功能框架设计 61
3.4.1 实验要求 61
3.4.2 实验内容 61
3.4.3 实验过程示例 62
3.4.4 实验总结与思考 68
3.5 基于流式套接字的服务器回射程序设计 69
3.5.1 实验要求 69
3.5.2 实验内容 69
3.5.3 实验过程示例 70
3.5.4 实验总结与思考 75
3.6 基于流式套接字的并发服务器设计 75
3.6.1 实验要求 76
3.6.2 多线程编程要点 76
3.6.3 实验内容 83
3.6.4 实验过程示例 84
3.6.5 实验总结与思考 89
3.7 服务器回射程序运行过程分析 90
3.7.1 实验要求 90
3.7.2 实验内容 90
3.7.3 实验过程示例 91
3.7.4 实验总结与思考 102
3.8 提高流式套接字网络程序对流数据的接收能力 102
3.8.1 实验要求 103
3.8.2 实验内容 103
3.8.3 实验过程示例 104
3.8.4 实验总结与思考 113
3.9 提高流式套接字网络程序的传输效率 113
3.9.1 实验要求 114
3.9.2 实验内容 114
3.9.3 实验过程示例 116
3.9.4 实验总结与思考 125
第4章 基于数据报套接字的网络程序设计 126
4.1 实验目的 126
4.2 数据报套接字编程要点 126
4.2.1 UDP——用户数据报协议 127
4.2.2 数据报套接字的通信过程 127
4.2.3 数据报套接字编程模型 128
4.3 数据报套接字网络功能框架设计 129
4.3.1 实验要求 129
4.3.2 实验内容 130
4.3.3 实验过程示例 130
4.3.4 实验总结与思考 134
4.4 基于数据报套接字的服务器回射程序设计 134
4.4.1 实验要求 134
4.4.2 实验内容 134
4.4.3 实验过程示例 135
4.4.4 实验总结与思考 139
4.5 无连接应用程序丢包率测试 139
4.5.1 实验要求 139
4.5.2 实验内容 139
4.5.3 实验过程示例 140
4.5.4 实验总结与思考 146
第5章 基于原始套接字的网络程序设计 147
5.1 实验目的 147
5.2 原始套接字编程要点 147
5.3 原始套接字网络功能框架设计 149
5.3.1 实验要求 149
5.3.2 实验内容 149
5.3.3 实验过程示例 150
5.3.4 实验总结与思考 154
5.4 基于原始套接字的回射客户端程序设计 155
5.4.1 实验要求 155
5.4.2 实验内容 155
5.4.3 实验过程示例 156
5.4.4 实验总结与思考 162
5.5 traceroute程序设计 162
5.5.1 实验要求 163
5.5.2 实验内容 163
5.5.3 实验过程示例 163
5.5.4 实验总结与思考 169
第6章 网络I/O模型的应用 171
6.1 实验目的 171
6.2 套接字的I/O模式和I/O模型 171
6.2.1 网络中的I/O操作 171
6.2.2 套接字的I/O模型 172
6.3 基于I/O复用模型的回射服务器程序设计 174
6.3.1 实验要求 174
6.3.2 实验内容 175
6.3.3 实验过程示例 176
6.3.4 实验总结与思考 180
6.4 基于WSAAsyncSelect模型的文字聊天软件设计 181
6.4.1 实验要求 181
6.4.2 实验内容 181
6.4.3 实验过程示例 182
6.4.4 实验总结与思考 188
6.5 基于完成端口模型的代理服务器设计 188
6.5.1 实验要求 189
6.5.2 实验内容 189
6.5.3 实验过程示例 192
6.5.4 实验总结与思考 208
第7章 WinPcap编程 209
7.1 实验目的 209
7.2 WinPcap的体系结构 209
7.2.1 网络组包过滤模块 210
7.2.2 WinPcap编程接口 211
7.3 ARP欺骗程序设计 212
7.3.1 实验要求 212
7.3.2 实验内容 212
7.3.3 实验过程示例 216
7.3.4 实验总结与思考 223
7.4 应用级网桥程序设计 224
7.4.1 实验要求 224
7.4.2 实验内容 224
7.4.3 实验过程示例 228
7.4.4 实验总结与思考 236
附录 Windows Sockets错误码 237
参考文献 245

教学资源推荐
作者: (美)W.Richard Stevens
作者: [希]弗洛肖斯·齐阿齐斯(Vlasios Tsiatsis) [德]斯塔马蒂斯·卡尔诺斯科斯(Stamatis Karnouskos) [瑞]杨·霍勒(Jan Höller) [英]大卫·博伊尔(David Boyle) [澳]凯瑟琳·马利根(Catherine Mulligan) 著
参考读物推荐
作者: 刘钊 张跃 著
作者: 张春强 著
作者: 吴功宜 吴英 编著
作者: 胥峰 杨俊俊 著