目录 1
译者序 1
前言 1
第一部分 传统网络API 1
第1章 NetBIOS 1
1.1 MicrosoftNetBIOS 2
1.1.1 LANA编号 2
1.1.2 NetBIOS名字 4
1.1.3 NetBIOS特性 6
1.2 NetBIOS编程基础 7
1.3 常规NetBIOS例程 8
1.3.1 会话服务器:异步回调模型 15
1.3.2 会话服务器:异步事件模型 20
1.3.3 NetBIOS会话客户机 24
1.4 数据报的工作原理 28
1.5 其他NetBIOS命令 40
1.5.1 适配器状态 40
1.5.2 查找名字 42
1.6 平台问题 43
1.5.3 将传送协议同LANA编号对应起来 43
1.6.1 WindowsCE 44
1.6.2 Windows9x 44
1.6.3 常规问题 44
1.7 小结 44
第2章 重定向器 45
2.1 通用命名规范 45
2.3 网络提供者 47
2.2 多UNC提供者 47
2.4 重定向器简介 48
2.5 服务器消息块 48
2.6 安全问题 49
2.6.1 安全描述符 49
2.6.2 访问令牌 51
2.7 网络安全 51
2.8 一个实例 52
2.9 小结 53
第3章 邮槽 54
3.1 邮槽实施细节 54
3.1.1 邮槽的名字 54
3.1.2 消息的长度 55
3.1.3 应用程序的编译 56
3.1.4 错误代码 57
3.2 基本客户机/服务器 57
3.2.1 邮槽服务器的详情 57
3.2.2 邮槽客户机的详情 59
3.3 其他邮槽API 61
3.4 平台和性能问题 62
3.4.1 8.3字符名字限制 62
3.4.2 不能取消“凝结”的I/O请求 62
3.4.3 超时引起的内存废弃 64
3.5 小结 65
第4章 命名管道 66
4.1 命名管道的实施细节 66
4.1.3 应用程序的编译 67
4.1.1 命名管道命名规范 67
4.1.2 字节模式及消息模式 67
4.1.4 错误代码 68
4.2 客户机与服务器的基础 68
4.2.1 服务器的细节 68
4.2.2 高级服务器的细节 74
4.2.3 客户机的细节 81
4.3 其他API调用 83
4.4 平台和性能问题 86
4.5 小结 87
第二部分 Winsock API 89
第5章 网络原理和协议 89
5.1 协议的特征 89
5.1.1 面向消息 89
5.1.2 面向连接和无连接 91
5.1.3 可靠性和次序性 91
5.1.7 服务质置 92
5.1.6 多播数据 92
5.1.4 从容关闭 92
5.1.5 广播数据 92
5.1.8 部分消息 93
5.1.9 路由选择的考虑 93
5.1.10 其他特征 93
5.2 支持的协议 93
5.2.1 支持的Win32网络协议 93
5.2.2 Windows CE网络协议 94
5.3 Winsock 2协议信息 94
5.4 Windows套接字 97
5.5 具体平台的问题 99
5.7 小结 100
5.6 选择适当的协议 100
第6章 地址家族和名字解析 102
6.1 IP 102
6.1.1 TCP 102
6.1.2 UDP 102
6.1.3 定址 102
6.1.4 创建套接字 105
6.1.5 名字解析 105
6.2 红外线套接字 107
6.2.1 定址 107
6.2.3 红外线设备列举 108
6.2.4 查询IAS 110
6.2.5 创建套接字 111
6.3.1 编址 112
6.3 IPX/SPX 112
6.3.2 创建套接字 112
6.2.6 套接字选项 112
6.4 NetBIOS 115
6.4.1 定址 115
6.4.2 创建套接字 116
6.5 AppleTalk 117
6.5.1 定址 117
6.5.2 AppleTalk名的注册 118
6.5.3 AppleTalk名的解析 119
6.5.4 创建套接字 124
6.6 ATM 124
6.6.1 定址 125
6.6.2 创建套接字 128
6.6.3 把套接字和SAP绑定在一起 129
6.6.4 名字解析 130
6.7 Winsock 2支持的其他函数 130
6.8 小结 131
第7章 Winsock基础 132
7.1 Winsock的初始化 132
7.2 错误检查和控制 134
7.3 面向连接的协议 134
7.3.1 服务器API函数 134
7.3.2 客户机API函数 138
7.3.3 数据传输 140
7.3.4 流协议 144
7.3.5 中断连接 146
7.3.6 综合分析 147
7.4 无连接协议 155
7.4.1 接收端 155
7.4.2 发送端 156
7.4.3 基于消息的协议 157
7.4.4 释放套接字资源 158
7.4.5 综合分析 158
7.5 其他API函数 165
7.6 Windows CE 168
7.7.1 AppleTalk 169
7.7.2 IrDA 169
7.7 其他地址家族 169
7.7.3 NetBIOS 170
7.7.4 IPX/SPX 170
7.7.5 ATM 171
7.8 小结 171
8.1 套接字模式 172
第8章 WinsockI/O方法 172
8.1.1 锁定模式 173
8.1.2 非锁定模式 175
8.2 套接字I/O模型 176
8.2.1 select模型 176
8.2.2 WSAAsyncSelect 179
8.2.3 WSAEventSelect 183
8.2.4 重叠模型 188
8.2.5 完成端口模型 198
8.3 I/O模型的问题 206
8.4 小结 206
第9章 套接字选项和I/O控制命令 207
9.1 套接字选项 207
9.1.1 SOL_SOCKET选项级别 208
9.1.2 SOL_APPLETALK选项级别 215
9.1.3 SOL_IRLMP选项级别 218
9.1.4 IPPROTO_IP选项级 222
9.1.5 IPPROTO_TCP选项级别 227
9.1.6 NSPROTO_IPX选项级别 227
9.2 IOCTLSOCKET和WSAIOCTL 231
9.2.1 标准I/O控制命令 232
9.2.2 其他I/O控制命令 233
9.2.3 安全套接字层的I/O控制命令 239
9.2.4 ATMI/O控制命令 241
9.3 小结 242
10.1 背景知识 243
10.2 名字空间模型 243
第10章 名字注册和解析 243
10.3 服务的注册 245
10.3.1 安装服务类 245
10.3.2 服务的注册 248
10.3.3 服务注册示例 251
10.4 服务的查询 254
10.4.1 怎样对服务进行查询 255
10.4.2 查询DNS 257
10.5 小结 260
第11章 多播 261
11.1 多播的含义 261
11.2 IP多播 264
11.2.1 Internet网关管理协议 264
11.2.2 IP叶节点 265
11.2.3 IP多播的实施 266
11.3 ATM多播 266
11.3.1 ATM叶节点 267
11.3.2 ATM根节点 267
11.4 多播与Winsock 268
11.4.1 Winsock 1多播 268
11.4.2 Winsock 2多播 274
11.4.3 常用的Winsock选项 288
11.4.4 拨号网络多播的一处限制 290
11.5 小结 291
12.1 背景知识 292
12.1.1 资源预约协议 292
第12章 常规服务质量 292
12.1.2 网络组件 293
12.1.3 应用组件 294
12.1.4 策略组件 296
12.2 QoS和Winsock 296
12.2.1 QoS结构 297
12.2.2 QoS调用函数 299
12.3 QoS中止 303
12.4 QoS编程 311
12.4.1 RSVP和套接字类型 312
12.4.2 QoS通知 314
12.4.3 QoS模板 316
12.5 示例 318
12.5.1 单播TCP 318
12.5.2 单播UDP 336
12.5.3 多播UDP 337
12.6 ATM和QoS 338
12.7 小结 339
第13章 原始套接字 340
13.1 原始套接字的创建 340
13.2 Internet控制消息协议 341
13.2.1 Ping示例 342
13.2.2 Traceroute示例 351
13.3 Internet组管理协议 352
13.4 IP_HDRINCL的使用 354
13.5 小结 362
第14章 Winsock 2服务提供者接口 363
14.1 SPI基础 363
14.1.2 Winsock 2 API和SPI函数之间的映射 364
14.2 传输服务提供者 364
14.1.1 SPI命名规则 364
14.2.1 WSPStartup 365
14.2.2 参数 366
14.2.3 实例计数 369
14.2.4 套接字句柄 369
14.2.5 Winsock I/O模型支持 371
14.2.6 扩展函数 380
14.2.7 传输服务提供者的安装 381
14.3 命名空间服务提供者 386
14.3.1 名字空间的安装 386
14.3.2 名字空间的实施 387
14.3.3 名字空间提供者示范 392
14.4 Winsock SPI函数的调试追踪 396
14.5 小结 396
第15章 微软Visual Basic Winsock控件 397
15.1 属性 397
15.2 方法 398
15.3 事件 399
15.4 UDP示例 400
15.4.1 UDP消息的发送 403
15.4.2 UDP消息的接收 404
15.4.3 获取Winsock信息 404
15.4.4 运行UDP示例 405
15.4.5 UDP状态 405
15.5 TCP示例 406
15.5.1 TCP服务器 412
15.5.2 TCP客户机 413
15.5.3 获取Winsock信息 414
15.5.4 运行TCP示例 414
15.5.5 TCP状态 415
15.6 存在的局限 415
15.7 常见错误 416
15.8 Windows CE的Winsock控件 417
15.8.1 WindowsCEWinsock示例 417
15.8.2 已知的问题 421
15.9 小结 422
第三部分 远程访问服务 423
第16章 RAS客户机 423
16.1 编译和链接 424
16.2 数据结构和平台兼容问题 424
16.3 DUN 1.3升级和Windows 95 425
16.4 RASDIAL 425
16.4.1 同步模式 427
16.4.2 异步模式 428
16.4.3 状态通知 432
16.4.4 关闭连接 432
16.5 电话簿 433
16.5.1 电话簿条目的增添 440
16.5.2 电话簿条目的重命名 442
16.5.3 电话簿条目的删除 442
16.5.4 电话簿条目的列举 443
16.5.5 用户凭据的管理 443
16.5.6 多链接电话簿的子条目 445
16.6 连接管理 446
16.7 小结 450
第四部分 附录 451
附录A NetBIOS命令索引 451
附录B IP助手函数 464
附录C Winsock错误代码 481
6.2.2 名字解析 1108