《Linux/UNIX 网络编程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:甘刚主编
  • 出 版 社:水利水电出版社
  • 出版年份:2008
  • ISBN:9787508454672
  • 页数:236 页
图书介绍:本书详细介绍了在Unix系统下基于TCP/IP网络接口的基本编程方法,包括迭代与并发服务器编写方法、进程与线程编程技术、I/O编程技术、IPv4与IPv6的兼容性、原始套接口、数据链路访问技术、广播与多播技术等。为满足教学实际需要,在本书最后一章,给出了Socket基本编程、服务器与单客户的连接处理、多进程服务器模板、多线程编写模板、线程专用数据TSD实现模板等5个实验指导。在本书编写过程中,编著者参阅了国内外同类书籍及各类报刊杂志,将精华思想应用到教学实践中,形成的教学成果与体会反映在书中。本书适合作为高等院校计算机及相关专业学生的教材,也可作为广大计算机爱好者及网络研究人员和网络程序开发人员的自学书和参考书。

第1章 TCP/IP简介 1

1.1概述 1

1.1.1基本的C/S服务模型 1

1.1.2OSI模型和TCP/IP四层结构 2

1.2IP协议介绍 3

1.2.1IP数据报的格式 3

1.2.2IP地址 4

1.2.3子网掩码(subnetmask) 5

1.3TCP协议介绍 6

1.3.1TCP连接的建立与终止 7

1.3.2TCP状态转换图 8

1.4UDP协议 10

1.5端口号 10

1.6本章小结 10

1.7实战检验 11

理论巩固 11

第2章 套接字编程简介 12

2.1套接字基础 12

2.2套接字的类型 13

2.3套接字地址结构 13

2.3.1IPv4套接字地址结构 13

2.3.2IPv6套接字地址结构 14

2.3.3两种套接字地址结构的比较 15

2.3.4通用套接字地址结构 15

2.4套接字基本函数 16

2.4.1字节排序函数 16

2.4.2字节操纵函数 17

2.4.3IP地址转换函数 17

2.4.4isfdtype()函数 19

2.5值-结果参数 19

2.6本章小结 20

2.7实战检验 20

理论巩固 20

上机实战 21

第3章 基本TCP套接字编程 22

3.1TCP套接字编程 22

3.1.1socket()函数 23

3.1.2connect()函数 24

3.1.3bind()函数 25

3.1.4listen()函数 27

3.1.5accept()函数 28

3.1.6数据传输函数 29

3.1.7close()函数 31

3.2TCP套接字编程实例 31

3.3服务器的3种异常情况 35

3.3.1服务器主机崩溃 36

3.3.2服务器主机崩溃后重启 36

3.3.3服务器主机关闭 37

3.4本章小结 37

3.5实战检验 38

理论巩固 38

上机实战 38

第4章 基本UDP套接口编程 39

4.1UDP套接字编程 39

4.1.1recvfrom()函数 40

4.1.2sendto函数 41

4.2UDP套接字编程实例 42

4.3UDP中对数据报的各项处理 46

4.3.1数据报的丢失 46

4.3.2验证收到的响应 46

4.3.3服务器进程未运行 47

4.4connect函数用于UDP 47

4.5本章小结 48

4.6实战检验 49

理论巩固 49

上机实战 49

第5章 并发服务器 50

5.1服务器的分类 50

5.2多进程并发服务器 51

5.2.1进程基础 51

5.2.2进程创建 51

5.2.3进程终止 54

5.2.4多进程并发服务器 56

5.2.5多进程并发服务器实例 57

5.3多线程服务器 63

5.3.1线程基础 64

5.3.2线程基础函数 64

5.3.3给新线程传递参数 66

5.3.4多线程并发服务器实例 68

5.3.5线程安全函数 72

5.3.6线程安全实例 77

5.3.7用函数参变量实现线程安全性 82

5.4本章小结 85

5.5实战检验 86

理论巩固 86

上机实战 86

第6章 名字与地址转换编程 87

6.1概述 87

6.2域名系统 87

6.3gethostbyname()函数 88

6.4RESUSEINET6解析器选项 91

6.5gethostbyname2函数对IPv6的支持 91

6.6gethostbyaddr()函数 93

6.7uname()函数 93

6.8gethostname函数 94

6.9getservbyname和getservbyport函数 95

6.10getaddrinfo、gai_strerror和hostserv函数 96

6.11freeaddrinfo函数 99

6.12使用getaddrinfo的TCP和UDP 100

6.13getnameinfo函数 105

6.14gethostbyaddr实例 105

6.15本章小结 106

6.16实战检验 107

理论巩固 107

上机实战 107

第7章 IPv4和IPv6编程 108

7.1IPv4客户与IPv6服务器 108

7.2IPv6客户与IPv4服务器 110

7.3IPv6ADDRFORM套接口选项 111

7.4IPv6地址测试宏 112

7.5源代码的可移植性 112

7.6本章小结 113

7.7实战检验 113

理论巩固 113

上机实战 113

第8章 守护进程和inetd超级服务器 114

8.1守护进程的原理 114

8.1.1启动守护进程 114

8.1.2输出守护进程消息 115

8.1.3syslog函数 115

8.1.4创建守护进程 118

8.1.5以守护进程方式运行的时间服务器 119

8.2inetd的工作原理 122

8.2.1概念 122

8.2.2工作流程 123

8.2.3inetd处理并发 125

8.3本章小结 125

8.4实战检验 126

理论巩固 126

上机实战 126

第9章 I/O编程 127

9.1I/O模型 127

9.2select函数 130

9.3shutdown函数 132

9.4poll函数 133

9.5使用select函数的TCP例子 135

9.6高级的I/O编程 140

9.6.1recv和send函数 140

9.6.2recvmsg和sendmsg函数 141

9.7非阻塞connect 143

9.8ioctl函数 145

9.8.1套接口操作 146

9.8.2文件操作 146

9.8.3接口配置 146

9.8.4接口操作 147

9.8.5ARP操作 148

9.8.6路由表操作 148

9.9本章小结 148

9.10实战检验 149

理论巩固 149

上机实战 149

第10章 广播与多播编程 150

10.1广播的概念 150

10.1.1广播的原理 150

10.1.2广播的示例 152

10.2多播概念 155

10.2.1多播与广播的比较 155

10.2.2多播套接口选项 156

10.2.3多播的实例 157

10.3本章小结 159

10.4理论与巩固 159

实战检验 159

上机实战 159

第11章 路由套接口编程 160

11.1概念和数据链路套接口地址结构 160

11.2sysctl操作 165

11.3接口名和索引函数 166

11.4本章小结 167

11.5实战检验 168

理论与巩固 168

上机实战 168

第12章 信号量编程 169

12.1信号的概念 169

12.2信号的概念及常见信号介绍 169

12.2.1signal函数 173

12.2.2处理SIGCHLD信号 174

12.2.3wait和waitpid函数 175

12.2.4kill和raise函数 177

12.2.5SIGPIPE信号 178

12.2.6alarm和pause函数 178

12.2.7sigprocmask函数 179

12.2.8sigpending函数 179

12.2.9sigaction函数 179

12.2.10sigsetjmp和siglongjmp函数 180

12.2.11sigsuspend函数 180

12.2.12abort函数 181

12.2.13system函数 181

12.2.14sleep函数 182

12.3例子:使用SIGIO的UDP回射服务器程序 183

12.4本章小结 188

12.5实战检验 188

理论巩固 188

上机实战 188

第13章 原始套接口与数据链路访问编程 189

13.1原始套接口创建 189

13.2原始套接口输出 190

13.3原始套接口输入 191

13.4原始套接字编程实例 191

13.4.1实例1:拒绝服务攻击 191

13.4.2实例2:ICMP包的构建、发送和接收 194

13.4.3实例3:ping程序 197

13.5数据链路层访问 202

13.5.1BPF:BSD分组过滤器 203

13.5.2数据链路提供者DLPI 203

13.5.3Linux的SOCK_PACKET 204

13.5.4分组捕获函数库libpcap 204

13.5.5libpcap的库函数 205

13.5.6数据链路层访问实例 209

13.6本章小结 213

13.7理论与巩固 214

实战检验 214

上机实战 214

第14章 实验指导 215

14.1Socket基本编程 215

14.2服务器与单客户的连接处理 218

14.3多进程服务器模板 221

14.4多线程编写模板 226

14.5线程专用数据TSD实现模板 230

参考文献 236