购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

在信息化高度发展的今天,网络应用层出不穷,网络技术日新月异。越来越多的应用运行在网络环境下,这就要求程序员能够在应用广泛的Windows操作系统上开发网络应用程序。目前,国内大批专门从事网络技术开发与技术服务的研究机构和企业需要网络基础扎实、编程技术精湛的专业技术人才。作为计算机网络和网络安全课程体系的重要组成部分,网络编程相关课程已成为国内高校普遍开设的课程。

网络编程具有理论与实践结合紧密、编程模型可复用、运行结果受环境影响大等特点。为了达到训练和强化Windows网络编程能力的目标,本书在内容组织上充分考虑了教学过程的可实施性,既设计了前后贯通的延续性单元实践项目,突出编程方法的差异性;又设计了由浅入深的可扩展专题实践项目,丰富实践内容,强化学习效果。通过本书的学习,读者可以深入实践Windows网络编程的基本方法,系统掌握网络数据处理的原理和技术,为将来从事网络技术研究、网络应用程序开发和网络管理等工作打下坚实的基础。

本书共有8章和一个附录,主要内容如下:

第1章利用Windows系统中的两个常用网络分析工具(网络流量捕获工具Wireshark和网络状态显示工具Netstat),并选择Ping和网页登录两种常见的网络应用,完成软件运行过程的分析,从而帮助学生熟悉常用的网络编程辅助工具,掌握网络应用程序的调试和分析技能。

第2章重点阐述Windows Sockets的基本组成和Windows Sockets编程接口的功能,通过主机IP地址获取这类简单的设计项目使学生熟悉和掌握Windows Sockets编程的基本方法,从而帮助学生熟悉Windows Sockets接口函数的功能,掌握Windows Sockets的基本配置和开发过程。

第3章阐述基于流式套接字的网络编程的基本方法,在此基础上,通过一系列项目来训练学生掌握循环方式和并发方式下的流式套接字编程、网络通信的框架设计、基于流式套接字的网络应用程序运行过程分析、字节流处理的接收控制和效率提升等。

第4章阐述基于数据报套接字的网络编程的基本方法,在此基础上,设计了三个设计类实践项目,训练学生掌握数据报套接字编程、基于无连接传输服务的数据报套接字网络程序的故障分析等。

第5章阐述基于原始套接字的网络编程的基本方法,在此基础上,设计了三个由简到繁的设计类实践项目,训练学生掌握原始套接字的基本使用方法和高级参数设置,帮助学生熟练使用原始套接字,灵活控制底层传输协议,实现更低层次的网络应用程序。

第6章选择了三个在不同规模I/O环境下的常用模型,即I/O复用模型、WSAAsyneSelect模型和完成端口模型,设计了三个综合性较强的设计类项目,目的在于拓展学生对Windows套接字的实践能力。在前面单元训练的基础上,对代码进行组合和改进,满足现实应用对效率、处理规模等的需求。

第7章以Npcap框架中wpcap.dll接口的使用为重点,设计了两个链路层数据通信的实践项目——ARP欺骗和用户级网桥,目的在于扩展学生对原始帧的接收与发送、网卡操控等的处理能力。

第8章通过加密通信系统设计的综合实践,让学生掌握网络安全协议的密钥协商过程以及加密通信过程,具备基于流式套接字设计加密通信系统的客户端和服务器端的能力,提高在网络加密通信系统设计过程中检查错误和排除错误的能力。

附录部分给出了Windows Sockets的错误码和错误原因。

本书由中国人民解放军网络空间部队信息工程大学网络空间安全学院组织编写,刘琰负责本书第1~6章和第8章的撰写和示例代码编码,并对全书进行了统稿。朱玛负责修订第1章,杜少勇、杨春芳负责第2~6章的修订,陈熹负责第7章的撰写,杨忠信负责第8章的修订。

本书是编者根据多年开发网络应用程序和相关课程教学的经验,并在多次授课和读者反馈的基础上编写而成的。由于网络技术快速发展,加之编者水平有限,疏漏和错误之处在所难免,恳请读者和有关专家不吝赐教。

编者
2025年4月 X3cmrgR6/u0rZZumf/bSDnSwwNt1d9uOOXRSGonzr8bDbu6jP5Pjamr8IYrhbOol

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开