编辑推荐
null
内容简介
本书遵循理论与实践相结合的教学目的,以实例讲解在Windows环境下如何开发网络应用程序的方法。全书共分7章:第1章介绍网络编程的一些基本概念;第2章介绍套接字的基本概念以及Windows Socket的内容;第3~5章分别介绍流式套接字、数据报套接字和原始套接字的编程原理,并用实例详细介绍如何开发相应的网络应用程序;第6章介绍常见的应用层协议(如FTP、SMTP、HTTP、MQTT)和WinInet的内容,并用实例描述如何编写基于应用层协议的网络应用程序;第7章介绍使用广泛的WinPcap的概念,以及如何用WinPcap开发相关网络应用程序。本书的特点是有大量的实例源代码及详细解析。本书主要供普通高校计算机、信息安全、通信工程等专业的师生使用,也可供对网络编程感兴趣的各类人员自学使用。
作者介绍
曾凡锋,年IT课程(面向对象程序设计、Java程序设计、网络程序设计、Internet与互联网)的教学经验,多年的编程经验,精通C/C++、Java、C#的编程语言,参与多个网络项目的开发(比如北京网通的网络综合管理平台)。获得部级科技进步二等奖2次,三等奖3次。
目 录
第1章 网络编程基础 1.1 计算机网络基础 1.1.1 计算机协议及协议分层 1.1.2 网络寻址方式 1.2 网络应用程序特点及类型 1.3 网络通信模型 1.4 客户端/服务器模型 1.4.1 客户端和服务器的关系 1.4.2 服务器的关键点 1.5 其他常见通信模型 1.6 网络数据 1.6.1 字节顺序 1.6.2 结构的对齐 1.7 NetBIOS 1.8 编程实现计算机网络基本信息查询 1.8.1 问题 1.8.2 实现方法 1.8.3 具体实现 1.9 习题 第2章 套接字基础 2.1 TCP/IP协议软件接口 2.2 套接字 2.2.1 套接字编程接口的起源与发展 2.2.2 套接字的抽象概念 2.2.3 套接字接口的特点和内容 2.3 Windows套接字 2.3.1 Windows Sockets规范 2.3.2 WinSock头文件和库文件 2.3.3 WinSock API 2.3.4 WinSock初始化 2.3.5 错误检查和处理 2.3.6 WinSock的地址描述 2.3.7 创建套接字 2.4 套接字选项和I/O控制命令 2.4.1 套接字选项 2.4.2 I/O控制命令 2.5 套接字的I/O模式 2.5.1 网络通信中的I/O等待 2.5.2 套接字的I/O模式 2.6 习题 第3章 流式套接字编程 3.1 TCP传输协议 3.1.1 TCP报文格式 3.1.2 TCP协议的传输特点 3.1.3 TCP连接的建立与关闭 3.2 流式套接字的编程模型 3.2.1 流式套接字的通信流程 3.2.2 流式套接字的编程模式 3.3 相关套接字函数 3.3.1 创建和关闭套接字 3.3.2 绑定地址 3.3.3 监听套接字 3.3.4 连接套接字 3.3.5 数据通信 3.4 阻塞流式套接字编程实例 3.4.1 问题 3.4.2 实现方法 3.4.3 基于阻塞流式套接字的服务器实现 3.4.4 基于阻塞流式套接字的客户端实现 3.5 非阻塞流式套接字编程实例 3.5.1 问题 3.5.2 实现方法 3.5.3 基于非阻塞流式套接字的服务器实现 3.5.4 基于非阻塞流式套接字的客户端实现 3.6 Windows下的多线程编程 3.6.1 线程的创建和终止 3.6.2 线程的同步 3.6.3 同步对象 3.7 基于流式套接字支持多客户端的编程实例 3.7.1 问题 3.7.2 实现方法 3.7.3 基于阻塞流式套接字的多线程服务器的实现 3.7.4 基于阻塞流式套接字的多线程客户端的实现 3.8 习题 第4章 数据报套接字编程 4.1 UDP用户数据报协议 4.1.1 UDP报文格式 4.1.2 UDP协议的传输特点 4.2 数据报套接字的编程模型 4.2.1 数据报套接字的通信流程 4.2.2 数据报套接字的编程模式 4.3 相关套接字函数 4.3.1 创建和关闭套接字 4.3.2 绑定地址 4.3.3 数据通信 4.4 数据报套接字编程实例 4.4.1 问题 4.4.2 实现方法 4.4.3 数据报套接字的服务器应用程序的实现 4.4.4 数据报套接字的客户端应用程序的实现 4.4.5 连接模式下数据报套接字的客户端应用程序的实现 4.5 数据报套接字广播通信编程实例 4.5.1 问题 4.5.2 实现方法 4.5.3 数据报套接字广播通信的服务器应用程序的实现 4.5.4 数据报套接字广播通信的客户端应用程序的实现 4.6 数据报套接字通信可靠性的提高 4.6.1 数据报套接字的不可靠问题 4.6.2 判断服务器是否启动 4.6.3 处理传输中数据报丢失的问题 4.6.4 处理接收到的干扰数据 4.6.5 流量溢出问题 4.7 习题 第5章 原始套接字编程 5.1 原始套接字简介 5.1.1 原始套接字和标准套接字的差别 5.1.2 原始套接字的功能 5.1.3 原始套接字的应用场合 5.2 原始套接字的编程模型 5.2.1 原始套接字的通信流程 5.2.2 原始套接字的编程模式 5.3 相关套接字函数 5.3.1 创建和关闭套接字 5.3.2 绑定地址 5.3.3 数据通信 5.4 通过原始套接字实现网络数据包捕获实例 5.4.1 问题 5.4.2 实现方法 5.4.3 IP协议介绍 5.4.4 实现网络数据包捕获应用程序 5.5 通过原始套接字实现主机连通性检测实例 5.5.1 问题 5.5.2 实现方法 5.5.3 ICMP协议介绍 5.5.4 实现主机连通性检测应用程序 5.6 习题 第6章 应用层网络编程 6.1 应用层协议 6.1.1 FTP协议 6.1.2 SMTP协议 6.1.3 POP3协议 6.1.4 HTTP协议 6.1.5 MQTT协议 6.2 WinInet 6.2.1 HINTERNET句柄 6.2.2 WinInet函数 6.3 Internet应用相关类 6.3.1 CInternetSession类 6.3.2 CFtpConnection类 6.3.3 CHttpConnection类 6.3.4 CFtpFileFind类 6.4 下载HTTP资源编程实例 6.4.1 问题 6.4.2 实现方法 6.4.3 下载HTTP资源应用程序的实现 6.5 发送电子邮件编程实例 6.5.1 问题 6.5.2 实现方法 6.5.3 发送电子邮件应用程序的实现 6.6 FTP应用程序编程实例 6.6.1 问题 6.6.2 实现方法 6.6.3 FTP应用程序的实现 6.7 主机屏幕监控应用程序编程实例 6.7.1 问题 6.7.2 位图 6.7.3 实现方法 6.7.4 主机屏幕监控应用程序服务器的实现 6.7.5 主机屏幕监控应用程序客户端的实现 6.8 MQTT通信编程实例 6.8.1 问题 6.8.2 MQTT服务器搭建 6.8.3 编程实现MQTT客户端 6.9 习题 第7章 网络底层编程 7.1 WinPcap简介 7.2 WinPcap组成 7.2.1 WinPcap体系架构 7.2.2 网络接口驱动 7.2.3 NPF设备驱动 7.2.4 Packet.dll 7.2.5 Wpcap.dll 7.3 WinPcap安装及编程环境配置 7.3.1 下载安装WinPcap 7.3.2 在Visual Studio下配置WinPcap编程环境 7.4 Wpcap.dll中定义的主要数据结构和函数 7.4.1 主要数据结构 7.4.2 主要函数 7.5 Packet.dll的主要数据结构和函数 7.5.1 主要数据结构 7.5.2 主要函数 7.6 使用WinPcap实现网络数据包捕获实例 7.6.1 问题 7.6.2 实现方法 7.6.3 实现网络数据包捕获应用程序 7.7 使用WinPcap发送ARP伪装数据包实例 7.7.1 问题 7.7.2 实现方法 7.7.3 ARP协议介绍 7.7.4 实现网络发送ARP伪装数据包捕获应用程序 7.8 习题
媒体评论
null