图书介绍
Linux网络编程pdf电子书版本下载
- 林宇,郭凌云编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115087660
- 出版时间:2000
- 标注页数:498页
- 文件大小:17MB
- 文件页数:508页
- 主题词:UNIX操作系统 程序设计
PDF下载
下载说明
Linux网络编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 基础知识篇 1
第一章 文件系统和进程系统 2
1.1 文件系统 2
1.1.1 文件系统的总体结构 2
1.1.2 文件结构和目录结构 8
1.2 文件系统的相关编程 14
1.3 进程系统 26
1.3.1 进程的概念 26
1.3.2 Linux中描述进程的核心数据结构 30
1.3.3 和进程相关的系统调用 38
本章小结 46
第二章 进程间通信和同步 47
2.1 信号的处理 47
2.1.1 Linux中支持的信号 47
2.1.2 信号的捕获和处理 48
2.1.3 系统调用和信号的相互作用 52
2.1.4 pause和suspend函数 54
2.2 信号量 56
2.2.1 进程间的互斥 56
2.2.2 信号量的结构和信号量操作函数 57
2.2.3 应用示例 59
2.3 消息队列 63
2.3.2 消息队列的操作函数 64
2.3.1 消息队列的结构 64
2.3.3 应用示例 66
2.4 共享内存 70
2.4.1 共享内存的操作函数 71
2.4.2 应用示例 72
本章小结 86
第三章 TCP/IP协议 87
3.1 OSI参考模型、协议和服务 87
3.2 协议和服务 88
3.2.1 TCP/IP 89
3.2.2 TCP和UDP的比较 90
3.2.3 Internet上两主机进程间通信数据的封装和解包 90
3.2.4 IP地址、网络地址和网络掩码 92
3.2.5 传输层端口 93
3.3 域名系统 94
3.4 域名解析和名字服务器 95
3.4.1 TCP协议 96
3.4.2 TCP的确认和超时重发机制 97
3.4.3 TCP头部格式(Header Format) 98
3.4.4 TCP连接的状态转移过程 100
3.5 IP数据包格式 107
3.6 Internet消息控制协议 109
本章小结 110
第二篇 初级应用篇 111
4.1 基本套接字函数族 112
4.1.1 socket编程的基本流程 112
第四章 基本套接字编程实践 112
4.1.2 函数socket 114
4.1.3 函数connect 116
4.1.4 函数bind 119
4.1.5 函数listen 121
4.1.6 函数accept 122
4.1.7 函数read和write 123
4.1.8 函数close 125
4.2 应用示例 128
4.3 程序结果和异常说明 146
4.3.1 程序的运行结果 146
4.3.2 程序的异常 147
本章小结 154
第五章 无阻塞套接字和单进程轮询服务器 155
5.1 无阻塞套接字 155
5.1.1 阻塞套接字的缺点 155
5.1.2 阻塞和无阻塞的比较 156
5.1.3 无阻塞的实现 159
5.2 单进程轮询服务器工作方式 160
5.3 应用示例 161
5.3.1 应用说明 161
5.3.2 应用源码 162
第六章 带外数据与多路复用、信号驱动的输入/输出模型 178
6.1 多路复用的输入/输出模型 178
6.1.1 多路复用模型的概念与select函数 178
6.1.2 应用示例 181
6.1.3 pselect函数对select的增强 191
6.2 信号驱动的输入/输出模型 193
6.3 系统I/O模型的总结 194
6.4 带外数据 196
6.4.1 带外数据的发送 196
6.4.2 带外数据的接收 198
6.4.3 带外数据接收方法的示例 202
本章小结 216
第七章 UDP数据报 217
7.1 UDP数据报的概述 217
7.2 UDP通信的过程 218
7.3 UDP的服务器和TCP服务器的比较 220
7.4 UDP的“连接” 222
7.5 应用示例 224
本章小结 238
第八章 域名系统和通用套接字选项 239
8.1 域名系统 239
8.1.1 域名系统的回顾 239
8.1.2 通过地址获取主机信息 240
8.1.3 通过主机名获取主机信息 242
8.1.4 获取本地主机的信息 242
8.1.5 通过服务名获取服务端口 243
8.1.6 通过端口号获取服务名 244
8.2 套接字选项 245
8.2.1 获取和设置套接字选项 245
8.2.2 通用套接字选项 246
本章小结 252
第三篇 应用提高篇 253
第九章 高级套接字函数编程实践 254
9.1 函数recv和send 254
9.1.1 函数send 254
9.1.2 函数recv 255
9.1.3 应用示例 256
9.1.4 应用源码和分析 259
9.2 函数readv和writev 275
9.2.1 函数说明 275
9.2.2 应用示例 278
9.3 函数recvmsg和sendmsg 285
本章小结 287
第十章 守护进程和超级服务器inetd 288
10.1 守护进程的原理 288
10.2 编程实践 292
10.3 超级服务器inetd的工作原理 300
10.3.1 超级服务器的概念 300
10.3.2 超级服务器使用的配置文件 301
10.3.3 inetd处理并发服务的过程 301
本章小结 305
第十一章 数据结构的传输和XDR标准 306
11.1 数据结构的传送 306
11.1.1 数据结构传送的问题 306
11.1.2 简单的示例 307
11.2 XDR标准 318
11.2.1 XDR中包含的数据类型 319
11.2.2 XDR实现的原理 319
11.2.3 XDR的转换函数库 320
本章小结 330
第十二章 RPC远程过程调用原理和实践 331
12.1 RPC的原理 331
12.1.1 XDR的更进一步 331
12.1.2 本地函数调用的过程 332
12.1.3 用远程调用来虚拟本地调用 335
12.2 RPC的实现 336
12.2.1 远程过程的标识 337
12.2.2 端口的动态映射 338
12.2.3 RPC的报文 339
12.2.4 RPC开发工具 340
12.2.5 设计的原则 340
12.3 应用示例:网络记事本 341
12.3.1 编写本地应用 341
12.3.2 Rpcgen构建RPC应用 347
12.3.3 编写RPC说明文件 348
12.3.4 修改客户端程序 359
12.3.5 修改服务器端程序 365
12.3.6 调用的完整过程 368
12.3.7 程序的结果、分析和总结 369
本章小结 371
第四篇 高级编程篇 373
13.1 UNIX域套接字 374
13.1.1 UNIX域的地址结构 374
第十三章 UNIX域套接字和并发服务器的预创建技术 374
13.1.2 UNIX套接字使用的示例 375
13.1.3 传递文件描述符 380
13.2 并发服务器的预创建技术 383
13.2.1 预创建固定服务器进程的数量 383
13.2.2 动态的管理子进程 385
13.2.3 重用服务器子进程 386
本章小结 398
14.1 原始套接字 399
14.1.1 原始套接字的创建 399
第十四章 原始套接字编程实践 399
14.1.2 原始套接字的使用 400
14.1.3 IP包头和ICMP报文的C语言描述 400
14.2 ping应用程序 403
14.2.1 程序设计 403
14.2.2 程序源码 405
14.3 IP套接字选项 410
14.3.1 IP_TTL选项 410
14.3.2 IP_TOS选项 410
14.3.3 IP_OPTIONS选项 410
14.3.4 IP_HDRINCL选项 410
本章小结 410
15.1.1 线程的概念 412
第十五章 多线程编程 412
15.1 线程的概念 412
15.1.2 线程的分类 414
15.1.3 线程的创建和等待函数 416
15.1.4 线程的属性函数 417
15.2 线程间的同步 420
15.2.1 无名信号量 420
15.2.2 互斥锁、条件变量和条件信号 423
15.2.3 线程和信号 434
15.3 在网络程序中应用多线程 440
15.3.1 线程间参数的传递 440
15.3.2 线程安全函数的设计 443
15.3.3 多进程的并发服务器和多线程的并发服务器 450
15.3.4 客户端进程的多线程化 456
本章小结 457
第十六章 网络售票系统的简单模拟 458
16.1 系统的总体设计 458
16.1.1 应用的说明 458
16.1.2 数据格式的设计 458
16.1.3 服务器端的设计 460
16.1.4 客户端的设计 464
16.2 程序源码和解析 465
16.2.1 服务器端的源码 465
16.2.2 客户端的源码 482
本章小结 497