21世纪高等教育网络工程规划教材

Windows网络编程(第2版)

网络编程、Socket网络编程、Socket编程、TCP/IP协议编程
分享 推荐 1 收藏 10 阅读 4.4K
杨秋黎 , 金智 (主编) 汤望星 , 张杰 , 刘金江 , 李晓黎 (副主编) 978-7-115-37770-8

关于本书的内容有任何问题,请联系 张斌


1.全面介绍基础网络协议:Internet 与网络通信模型、TCP/IP 协议簇及其应用、IP 地址和子网规划
2.详细介绍网络编程的基本方法,内容涉及目前比较流行的经典网络编程技术
3.提供了两个实用的案例:局域网探测器和基于P2P 技术的BT 下载工具

内容摘要


随着Internet 技术的应用和普及,人类社会已经进入了信息化的网络时代。大多数应用程序都是运行在网络环境下,这就要求程序员能够在应用最广泛的Windows 操作系统上开发网络应用程序。本书结合大量的实例,介绍了开发Windows 网络应用程序的必备知识,并完整地讲述了几个Windows 网络应用程序实例的开发过程。这些实例包括局域网探测器、基于P2P 技术的BT 下载工具和基于WinPcap 技术的网络数据包捕获、过滤和分析工具等。

目录

目  录
第 1篇 基础协议
第 1章 Internet与网络通信模型概述 1
1.1 Internet概述 1
1.1.1 Internet的发展历史 1
1.1.2 Internet的管理机构 3
1.1.3 国内Internet网络建设的
现状 5
1.2 网络通信模型和协议簇 6
1.2.1 OSI参考模型 6
1.2.2 TCP/IP协议簇体系结构 11
习题 12
第 2章 TCP/IP协议簇及其应用 14
2.1 IP 14
2.1.1 IP基础 14
2.1.2 IP的关键机制 16
2.2 TCP和UDP 17
2.2.1 TCP的网络功能 17
2.2.2 TCP段结构 18
2.2.3 TCP的基本工作流程 20
2.2.4 UDP 22
2.3 其他常用协议 23
2.3.1 ARP 23
2.3.2 ICMP 26
2.3.3 Telnet 28
2.3.4 FTP 29
2.3.5 SMTP和POP3 31
习题 32
第3章 IP地址和子网规划 34
3.1 IP地址 34
3.1.1 IP地址的结构 34
3.1.2 IP地址的分类 35
3.1.3 特殊的IP地址 37
3.2 子网划分 38
3.2.1 子网 38
3.2.2 子网掩码 39
3.2.3 CIDR表示法 45
3.2.4 单播、组播和广播地址 46
习题 49

第 2篇 网络编程

第4章 网络编程基础 50
4.1 网络编程相关的基本概念 50
4.1.1 网络编程与进程通信 50
4.1.2 Internet中网间进程的标识 53
4.1.3 网络协议的特征 56
4.1.4 高效的用户数据报协议 59
4.1.5 可靠的传输控制协议 59
4.2 三类网络编程 61
4.2.1 基于TCP/IP协议栈的网络
编程 61
4.2.2 基于WWW应用的网络
编程 62
4.2.3 基于.NET框架的
Web Services网络编程 62
4.3 客户机/服务器交互模式 65
4.3.1 网络应用软件的地位和
功能 65
4.3.2 客户机/服务器模式 66
4.3.3 客户机与服务器的特性 67
4.3.4 容易混淆的术语 67
4.3.5 客户机与服务器的通信
过程 68
4.3.6 网络协议与C/S模式的
关系 69
4.3.7 错综复杂的C/S交互 69
4.3.8 服务器如何同时为多个
客户机服务 70
4.3.9 标识一个特定服务 71
4.4 P2P模式 72
4.4.1 P2P技术的兴起 72
4.4.2 P2P的定义和特征 73
4.4.3 P2P的发展 73
4.4.4 P2P的关键技术 74
4.4.5 P2P系统的应用与前景 74
习题 75
第5章 Socket编程基础 76
5.1 Socket网络编程接口的产生与
发展 76
5.1.1 Socket编程接口起源于
UNIX操作系统 76
5.1.2 Socket编程接口在Windows
和Linux操作系统中得到
继承和发展 77
5.2 Socket的工作原理和基本概念 77
5.2.1 Socket协议的工作原理 77
5.2.2 什么是Socket 78
5.2.3 Socket的服务方式和类型 78
5.3 WinSock编程基础 79
5.3.1 构建WinSock应用程序
框架 79
5.3.2 IP地址的表示形式 82
5.4 面向连接的Socket编程 84
5.4.1 面向连接的Socket通信
流程 84
5.4.2 socket()函数 85
5.4.3 bind()函数 86
5.4.4 listen()函数 87
5.4.5 accept()函数 88
5.4.6 recv()函数 90
5.4.7 send()函数 91
5.4.8 closesocket()函数 93
5.4.9 shutdown()函数 94
5.4.10 connect()函数 94
5.4.11 TCP Socket服务器应用
程序编程实例 95
5.4.12 TCP Socket客户端应用
程序编程实例 100
5.5 面向非连接的Socket编程 104
5.5.1 面向非连接的Socket通信
流程 104
5.5.2 sendto()函数 105
5.5.3 recvfrom()函数 106
5.6 Socket选项 108
5.6.1 调用getsockopt()函数获取
Socket选项 108
5.6.2 调用setsockopt()函数设置
Socket选项 111
习题 113
第6章 探测网络中的在线设备 114
6.1 获取本地计算机的网络信息 114
6.1.1 使用ipconfig命令获取本地
网络信息 114
6.1.2 获取本地网络信息的开发
接口IP Helper API 115
6.1.3 获取本地网络适配器信息 116
6.1.4 获取本地主机名、域名和
DNS服务器信息 120
6.1.5 获取本地计算机网络接口
的基本信息 124
6.1.6 获取本地计算机IP
地址表 127
6.1.7 添加和删除IP地址 130
6.2 扫描子网中的地址 135
6.2.1 计算指定子网内包含的
所有IP地址 135
6.2.2 实现ping的功能 139
6.2.3 扫描子网 146
习题 154
第7章 NetBIOS网络编程技术 156
7.1 NetBIOS协议及应用 156
7.1.1 NetBIOS协议 156
7.1.2 使用NBTSTAT命令 159
7.2 NetBIOS开发接口 160
7.2.1 NetBIOS操作 160
7.2.2 NCB结构体 161
7.2.3 其他常用NetBIOS
结构体 165
7.2.4 Netbios()函数 167
7.2.5 获取LANA上的所有
NetBIOS名字 168
7.2.6 获取网络适配器上的MAC
地址 172
7.3 在程序中实现NBTSTAT命令的
功能 174
7.3.1 本实例的工作原理 174
7.3.2 定义的结构体 175
7.3.3 为获取NetBIOS信息而定义
的函数 175
7.3.4 实现NBTSTAT命令功能的
主函数 180
习题 181
第8章 Socket编程技术 182
8.1 Socket编程模型概述 182
8.2 阻塞与非阻塞模式Socket编程 184
8.2.1 设置非阻塞模式Socket 184
8.2.2 非阻塞模式服务器应用
程序编程实例 185
8.2.3 非阻塞模式客户端应用
程序编程实例 189
8.2.4 基于非阻塞模式的多线程
服务器应用程序编程实例 192
8.3 基于Select模型的Socket编程 195
8.3.1 select()函数 195
8.3.2 基于Select模型的服务器
应用程序实例 196
8.4 基于WSAAsyncSelect模型的
Socket编程 203
8.4.1 WSAAsyncSelect()函数 203
8.4.2 创建窗口 204
8.4.3 窗口例程 207
8.4.4 基于WSAAsyncSelect模型
的服务器编程 208
8.5 基于WSAEventSelect模型的
Socket编程 213
8.5.1 WSAEventSelect()函数 213
8.5.2 创建和管理事件对象 214
8.5.3 WSAWaitForMultipleEvents()
函数 215
8.5.4 WSAEnumNetworkEvents()
函数 216
8.5.5 基于WSAEventSelect模型
的服务器编程 216
8.6 基于重叠I/O模型的Socket
编程 221
8.6.1 WSASocket()函数 221
8.6.2 调用WSASend()函数发送
数据 222
8.6.3 调用WSARecv()函数接收
数据 223
8.6.4 GetOverlappedResult()
函数 224
8.6.5 使用事件通知来管理重叠
I/O操作 224
8.6.6 使用完成例程来管理重叠
I/O操作 227
8.7 基于完成端口模型的Socket
编程 231
8.7.1 完成端口模型的工作
原理 231
8.7.2 创建完成端口对象 232
8.7.3 等待重叠I/O的操作
结果 233
8.7.4 基于完成端口模型的服务
器应用程序实例 234
习题 240
第9章 安全套接层协议SSL 248
9.1 什么是SSL 248
9.1.1 SSL简介和相关概念 248
9.1.2 SSL的握手过程 251
9.2 数字证书 255
9.2.1 基本概念 255
9.2.2 数字证书的分类 256
9.2.3 数字证书的授权机构 257
9.2.4 部署基于数字证书的HTTPS网站 258
9.3 OpenSSL 编程基础 269
9.3.1 OpenSSL概况 269

读者评论

  • 已经上传

    邹文波发表于 2017/3/8 15:43:04
  • 老师:

    你好!

    我是重庆科技学院的老师,现在正使用Windows网络编程(第2版)教学。请你将教材中习题的电子文档发给我(习题答案中无习题文档,否则我要自录入),以便我们导入库题,学生平时完成作业。邮箱chen640326@163.com

    陈应祖发表于 2017/3/8 15:27:38

我要评论

作者介绍

杨秋黎,教授,海口经济学院副院长。浙江苍南人,2002年6月毕业于东北林业大学计算机科学与技术专业,2013年6月毕业于海南大学农业信息化专业(硕士),2002年8月就职于海口经济学院任教至今。曾任信息工程学院教研室主任、信息工程学院院长助理职务,现任信息工程学院副院长职务,主管全校计算机公共基础教学与管理工作。
从事教育十多年来,分别担任教学和管理工作,在教学中先后为学生开设了计算机文化基础、计算机应用基础、高级语言程序设计、电子商务基础、电子商务安全、网络营销与策划、电子商务法概论、电子商务认证、电子商务实务等10多门课程,教学效果良好。
近年来,曾参与教学团队、特色专业、精品课程、教学成果等建设,取得一定成绩。参与教材编写10本,发表论文10篇(其中两篇EI检索),主持和参与省厅级项目6项、校级项目4项,先后获海口市“优秀教师”、“教育系统巾帼建功标兵”称号;海口经济学院“突出贡献者”、“十佳青年教育工作者”、“青年骨干教师”、“先进个人”、“优秀党员”等荣誉。

推荐用户

同系列书

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部