图书介绍
Linux网络编程pdf电子书版本下载
- 李卓桓等编著 著
- 出版社: 北京:机械工业出版社
- ISBN:711107677X
- 出版时间:2000
- 标注页数:368页
- 文件大小:12MB
- 文件页数:376页
- 主题词:Linux
PDF下载
下载说明
Linux网络编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 概论 1
1.1 网络的历史 1
1.2 OSI模型 2
1.3 Internet体系模型 4
1.4 客户/服务器模型 5
1.5 UNIX的历史 6
1.5.1 UNIX诞生前的故事 6
1.5.2 UNIX的诞生 7
1.5.3 1979- UNIX第7版 9
1.5.4 UNIX仅仅是历史吗 10
1.6 Linux的发展 10
1.6.1 Linux的发展历史 11
1.6.2 什么叫GNU 12
1.6.3 Linux的特色 12
1.6.4 硬件需求 13
1.6.5 Linux可用的软件 13
1.6.6 为什么选择Linux 14
1.7 Linux和UNIX的发展 15
第2章 UNIX/ Linux模型 16
2.1 UNIX/ Linux基本结构 16
2.2 输入和输出 18
2.2.1 UNIX/ Linux文件系统简介 18
2.2.2 流和标准I/O库 19
2.3 进程 20
第3章 进程控制 21
3.1 进程的建立与运行 21
3.1.1 进程的概念 21
3.1.2 进程的建立 21
3.1.3 进程的运行 23
3.1.4 数据和文件描述符的继承 28
3.2 进程的控制操作 31
3.2.1 进程的终止 31
3.2.2 进程的同步 31
3.2.3 进程终止的特殊情况 33
3.2.4 进程控制的实例 33
3.3 进程的属性 38
3.3.1 进程标识符 38
3.3.2 进程的组标识符 40
3.3.3 进程环境 40
3.3.4 进程的当前目录 43
3.3.5 进程的有效标识符 43
3.3.6 进程的资源 45
3.3.7 进程的优先级 46
3.4 守护进程 47
3.4.1 简介 47
3.4.2 守护进程的启动 47
3.4.3 守护进程的错误输出 47
3.4.4 守护进程的建立 49
第4章 进程间通信 51
4.1 进程间通信的一些基本概念 51
4.2 信号 51
4.2.1 信号的处理 53
4.2.2 信号与系统调用的关系 55
4.2.3 信号的复位 56
4.2.4 在进程间发送信号 58
4.2.5 系统调用alarm()和pause() 60
4.2.6 系统调用setjmp()和longjmp() 64
4.3 管道 65
4.3.1 用C来建立、使用管道 67
4.3.2 需要注意的问题 73
4.4 有名管道 74
4.4.1 有名管道的创建 74
4.4.2 有名管道的I/O使用 75
4.4.3 关于有名管道的一些问题 76
4.5 文件和记录锁定 77
4.5.1 实例程序及其说明 77
4.5.2 锁定中的几个概念 79
4.5.3 System V的咨询锁定 79
4.5.4 BSD的咨询式锁定 81
4.5.5 前面两种锁定方式的比较 82
4.5.6 Linux的其他上锁技术 82
4.6 System V IPC 86
4.6.1 ipcs命令 87
4.6.2 ipcrm命令 88
4.7 消息队列 88
4.7.1 有关的数据结构 88
4.7.2 有关的函数 90
4.7.3 消息队列实例 96
4.8 信号量 99
4.8.1 有关的数据结构 100
4.8.2 有关的函数 102
4.8.3 信号量的实例 106
4.9 共享内存 112
4.9.1 有关的数据结构 112
4.9.2 有关的函数 112
4.9.3 共享内存应用举例 115
4.9.4 共享内存与信号量的结合使用 117
第5章 通信协议简介 123
5.1 引言 123
5.2 XNS概述 123
5.2.1 XNS分层结构 123
5.3 IPX/SPX协议概述 125
5.3.1 网际包交换 125
5.3.2 排序包交换 127
5.4 Net BIOS概述 127
5.5 Apple Talk概述 128
5.6 TCP/IP概述 129
5.6.1 TCP/IP结构模型 129
5.6.2 Internet协议 131
5.6.3 传输控制协议 136
5.6.4 用户数据报文协议 138
第6章 Berkeley套接字 139
6.1 引言 139
6.2 概述 139
6.2.1 套接字的历史 139
6.2.2 套接字的功能 139
6.2.3 套接字的三种类型 140
6.3 Linux支配的网络协议 142
6.4 套接字地址 144
6.4.1 什么是套接字 144
6.4.2 套接字描述符 144
6.4.3一个套接字是怎样在网络上传输数据的 145
6.5 套接字的一些基本知识 146
6.5.1 基本结构 146
6.5.2 基本转换函数 147
6.6 基本套接字调用 149
6.6.1 socket()函数 150
6.6.2 bind()函数 150
6.6.3 connect()函数 152
6.6.4 listen()函数 153
6.6.5 accept()函数 154
6.6.6 send()、recv()函数 156
6.6.7 sendto()和recvfrom()函数 157
6.6.8 close()和shutdown()函数 158
6.6.9 setsockopt()和getsockopt()函数 159
6.6.10 getpeername()函数 160
6.6.11 gethostname()函数 160
6.7 DNS的操作 161
6.7.1 理解DNS 161
6.7.2 和DNS有关的函数和结构 161
6.7.3 DNS例程 162
6.8 套接字的客户/服务器结构实现 163
6.8.1 简单的流服务器 163
6.8.2 简单的流式套接字客户端程序 165
6.8.3 数据报套接字例程 167
6.9 保留端口 171
6.9.1 简介 171
6.9.2 保留端口 171
6.10 五种I/O模式 180
6.10.1 阻塞I/O模式 180
6.10.2 非阻塞模式I/O 180
6.10.3 I/O多路复用 182
6.10.4 信号驱动I/O模式 183
6.10.5 异步I/O模式 185
6.10.6 几种I/O模式的比较 186
6.10.7 fcntl()函数 186
6.10.8 套接字选择项select()函数 187
6.11 带外数据 190
6.11.1 TCP的带外数据 190
6.11.2 OOB传输套接字例程的服务器代码Server.c 193
6.11.3 OOB传输套接字例程的客户端代码Client.c 195
6.11.4 编译例子 198
6.12 使用Inetd 198
6.12.1 简介 198
6.12.2 一个简单的服务器程序 199
6.12.3 /etc/services和/etc/inetd.conf文件 199
6.12.4 一个复杂一些的inetd服务器程序 201
6.12.5 一个更加复杂的inetd服务器程序 203
6.12.6 程序必须遵守的安全性准则 204
6.13 小结 204
第7章 网络安全性 206
7.1 网络安全简介 206
7.1.1 网络安全的重要性 206
7.1.2 信息系统安全的脆弱性 207
7.2 Linux网络不安全的因素 209
7.3 Linux程序员安全 212
7.3.1 系统子程序 212
7.3.2 标准C函数库 215
7.3.3 书写安全的C程序 217
7.3.4 SUID/SGID程序指导准则 218
7.3.5 root程序的设计 219
第8章 Ping例程 221
8.1 Ping命令简介 221
8.2 Ping的基本原理 221
第9章 tftp例程 223
9.1 tftp协议简介 223
9.2 tftp的使用 223
9.3 tftp的原理 224
9.4 tftp的基本结构 224
第10章 远程命令执行 226
10.1 引言 226
10.2 rcmd函数和rshd服务器 227
10.3 rexec函数和rexecd服务器 233
第11章 远程登录 235
11.1 简介 235
11.2 终端行律和伪终端 235
11.3 终端方式字和控制终端 239
11.4 rlogin概述 242
11.5 窗口环境 242
11.6 流控制与伪终端方式字 243
11.7 rlogin客户程序 245
11.8 rlogin服务器 246
第12章 远程过程调用 249
12.1 引言 249
12.2 远程过程调用模型 249
12.3 传统过程调用和远程过程调用的比较 250
12.4 远程过程调用的定义 252
12.5 远程过程调用的有关问题 252
12.5.1 远程过程调用传送协议 253
12.5.2 Sun RPC 255
12.5.3 Xerox Courier 255
12.5.4 Apollo RPC 256
12.6 stub过程简介 256
12.7 rpcgen简介 257
12.8 分布式程序生成的例子 257
12.9 小结 284
第13章 远程磁带的访问 285
13.1 简介 285
13.2 Linux磁带驱动器的处理 286
13.3 rmt协议 286
13.4 rmt服务器设计分析 288
第14章 WWW与HTTP协议 292
14.1 引言 292
14.2 HTTP客户请求 292
14.2.1 客户端 292
14.2.2 服务器端 293
14.2.3 Web请求简介 293
14.2.4 HTTP-HyperText Transfer Protocol超文本传输协议 297
14.3 Web编程 298
附录A 有关网络通信的服务和网络库函数 303
附录B vi使用简介 316
B.1 vi基本观念 316
B.1.1 进入与离开 316
B.1.2 vi输入模式 316
B.2 vi基本编辑 317
B.2.1 删除与修改 317
B.3 vi进阶应用 317
B.3.1 移动光标 318
B.3.2 进阶编辑命令 319
B.3.3 文件命令 320
附录C Linux下C语言使用与调试简介 321
C.1 C语言编程 321
C.2 什么是C? 321
C.3 GNU C编译器 321
C.3.1 使用GCC 322
C.3.2 GCC选项 322
C.3.3 优化选项 322
C.3.4 调试和剖析选项 323
C.3.5 用gdb调试GCC程序 323
C.4 另外的C编程工具 328
C.4.1 Xxgdb 328
C.4.2 Calls 329
C.4.3 cproto 330
C.4.4 Indent 331
C.4.5 Gprof 333
C.4.6 f2c和p2c 333
附录D Ping源码 334
附录E TFTP服务器程序源码 358