《UNIX网络程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:吴念,强彦主编
  • 出 版 社:北京:科学出版社
  • 出版年份:2011
  • ISBN:9787030302212
  • 页数:328 页
图书介绍:本书介绍了利用套接字德应用编程接口(API)实现计算机通信程序设计德原理与方法。主要内容包括:UNIX环境与TCP/IP基础,TCPSOCKET,TCP连接。

第一篇 网络基础 3

第1章UNIX系统基础 3

1.1 UNIX系统概述 3

1.1.1 UNIX操作系统的发展史 3

1.1.2 UNIX系统的体系结构 5

1.1.3 UNDX系统的目录结构 6

1.1.4 UNIX系统的特点 7

1.2常用UNIX网络命令 7

1.3网络基本配置文件 9

1.4软件开发环境 11

1.4.1 vi编辑器 11

1.4.2 GCC编译器 12

1.4.3 GDB调试器 14

1.4.4 GDB功能简介 14

1.5小结 17

1.6思考与练习 17

第2章TCP/IP基础与原理 18

2.1 TCP/IP体系 18

2.2 IP协议 19

2.2.1 IPv4数据包结构 20

2.2.2 IP地址 21

2.2.3 IPv6的发展及其特点 23

2.3 ICMP协议 25

2.4 IP路由 27

2.5 TCP协议 28

2.5.1 TCP数据报文结构 28

2.5.2建立和拆除TCP连接 30

2.6 UDP协议 33

2.7端口号分配 34

2.8小结 36

2.9思考与练习 36

第二篇 套接字 39

第3章 套接字基础 39

3.1套接字概述 39

3.1.1 Socket历史 39

3.1.2 Socket功能 39

3.2套接字类型 40

3.2.1流式套接字(SOCK_STREAM) 40

3.2.2数据报套接字(SOCK_DGRAM) 40

3.2.3原始套接字 42

3.2.4 SEQ套接字 42

3.2 5 RDM套接字 42

3.3套接字地址结构 42

3.4端口 43

3.4.1简介 43

3.4.2常用网络服务端口 44

3.5带外数据 52

3.5.1 TCP的带外数据 52

3.5.2程序实例 56

3.6连接类型 60

3.7小结 60

3.8思考与练习 60

第4章TCP套接字 61

4.1基本方法 61

4.1.1 TCP套接字实现过程 61

4.1.2 TCP服务器模板 62

4.1.3 TCP客户模板 62

4.2实现TCP套接字 63

4.2.1产生TCP套接字 63

4.2.2绑定 64

4.2.3监听 66

4.2.4接受请求 67

4.2.5连接建立 68

4.2.6数据传输 70

4.2.7终止连接 71

4.3 TCP套接字编程实例 72

4.3.1实例说明 72

4.3.2程序实例 72

4.4小结 75

4.5思考与练习 75

第5章UDP套接字 76

5.1基本方法 76

5.1.1 UDP套接字实现过程 76

5.1.2 UDP服务器模板 77

5.1.3 UDP客户模板 78

5.2函数说明 79

5.2.1 UDP套接字的数据发送函数sendto() 79

5.2.2 UDP套接字的数据接收函数recvfrom() 79

5.3 UDP套接字编程实例 81

5.4小结 84

5.5思考与练习 84

第三篇UNIX网络编程实用技术 87

第6章 并发服务器 87

6.1并发服务器概述 87

6.1.1服务器的分类 87

6.1.2迭代服务器实例 88

6.1.3并发技术 93

6.1.4并发服务器算法 94

6.2多进程服务器 96

6.2.1进程概念与特征 96

6.2.2创建进程 97

6.2.3终止进程 100

6.2.4多进程并发服务器 105

6.2.5多进程并发服务器实例 107

6.2.6多进程服务器的问题 113

6.3多线程服务器 113

6.3.1线程基础 113

6.3.2线程函数调用 114

6.3.3多线程并发服务器 117

6.3.4给新线程传递参数 118

6.3.5多线程并发服务器实例 118

6.3.6线程安全实例 122

6.4 I/O多路复用服务器 136

6.4.1 I/O模式 136

6.4.2 select()函数 137

6.4.3单线程并发服务器 138

6.5套接字终止处理 143

6.6小结 145

6.7思考与练习 145

第7章 名字解析和IP地址转换 146

7.1名字解析 146

7.2套接字地址 147

7.2.1概述 147

7.2.2套接字属性 148

7.2.3地址结构 148

7.2.4字节顺序 150

7.2.5字节顺序转换函数 152

7.2.6 IP地址转换函数 152

7.2.7套接字地址信息函数 153

7.3套接字信息函数 155

7.3.1主机名转换为IP地址:gethostbyname()函数 156

7.3.2 IP地址转换为主机名:gethostbyaddr()函数 158

7.3.3获得服务器端口号:getservbyname()函数 160

7.3.4端口号转换为服务名:getservbyport()函数 161

7.4小结 162

7.5思考与练习 162

第8章 同步及进程间通信 163

8.1线程同步 163

8.1.1线程同步基础 163

8.1.2互斥锁 164

8.1.3加锁和解锁互斥锁 165

8.1.4条件变量 169

8.1.5同步线程退出 180

8.1.6死锁 185

8.2进程同步 191

8.2.1进程同步的基本概念 191

8.2.2进程关系 192

8.2.3信号处理 194

8.2.4有关信号的系统调用 199

8.2.5信号机制 206

8.2.6信号与系统调用的关系 208

8.2.7信号的复位 208

8.2.8处理僵死进程 209

8.3进程间通信 213

8.3.1管道 213

8.3.2 FIFO 217

8.3.3未提到的关于有名管道的一些注意事项 220

8.3.4消息队列 220

8.3.5共享内存 221

8.3.6信号量 221

8.4小结 225

8.5思考与练习 226

第9章 异常处理 227

9.1异常处理基础 227

9.2函数调用的错误 227

9.2.1显示错误信息 230

9.2.2定义错误处理函数 233

9.3 I/O超时处理 233

9.3.1 alarm()函数 233

9.3.2 select()函数 236

9.4服务器和客户异常处理 238

9.5小结 244

9.6思考与练习 244

第四篇 高级网络编程技术 247

第10章IPv4和IPv6的互操作性 247

10.1概述 247

10.2 IPv4客户和IPv6服务器 248

10.3 IPv6客户和IPv4服务器 253

10.4 IPv6地址测试宏 255

10.5 IPv6_ADDRFORM套接口选项 257

10.6源代码的可移植性 258

10.7小结 265

10.8思考与练习 265

第11章 守护进程 266

11.1守护进程及其消息输出 266

11.1.1 syslogd守护进程 266

11.1.2 syslog函数 266

11.1.3实例演练 268

11.2守护进程的创建 269

11.2.1进程的建立 269

11.2.2调用setsid函数 270

11.2.3实例演练 270

11.3守护进程的相关配置 272

11.3.1配置文件 272

11.3.2环境变量 273

11.4守护进程的应用实例 274

11.5小结 278

11.6思考与练习 278

第12章 广播 279

12.1广播的概述 279

12.2广播地址 280

12.3单播和广播的比较 281

12.4 dg_cli函数的修改 284

12.5小结 286

12.6思考与练习 287

第13章 多播 288

13.1多播的概述 288

13.2多播地址 289

13.3多播和广播的比较 291

13.4广域网上的多播 294

13.5多播套接口选项 296

13.6发送和接收 298

13.7简单网络时间协议SNTP 300

13.8小结 304

13.9思考与练习 304

第14章 原始套接字 305

14.1创建原始套接字 305

14.1.1创建方法 305

14.1.2实例演练 306

14.2写原始套接字 307

14.2.1原始套接字的写操作 307

14.2.2实例演练 307

14.3读原始套接字 308

14.3.1原始套接字的读操作 308

14.3.2实例演练 308

14.4原始套接字程序实例 309

14.5小结 316

14.6思考与练习 316

第15章 路由套接字 317

15.1创建路由套接字 317

15.1.1数据链路套接字地址结构 317

15.1.2创建路由套接字 318

15.1.3实例演练 318

15.2写路由套接字 318

15.2.1路由套接字的写操作 318

15.2.2实例演练 320

15.3读取路由套接字 321

15.3.1路由套接字的读操作 321

15.3.2实例演练 322

15.4路由套接字实例 324

15.5小结 327

15.6思考与练习 327

参考文献 328