图书介绍

UNIX网络编程 卷1 套接字联网API 英文版 第3版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

UNIX网络编程 卷1 套接字联网API 英文版 第3版
  • (美)W.RICHARD STEVENS,BILL FENNER,ANDREW M.RUDOFF著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115401304
  • 出版时间:2016
  • 标注页数:956页
  • 文件大小:102MB
  • 文件页数:980页
  • 主题词:UNIX操作系统-程序设计-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

UNIX网络编程 卷1 套接字联网API 英文版 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Part 1.简介和TCP/IP1

Chapter 1.简介3

1.1 概述3

1.2 一个简单的时间获取客户程序6

1.3 协议无关性10

1.4 错误处理:包装函数11

1.5 一个简单的时间获取服务器程序13

1.6 本书中客户/服务器示例的路线图16

1.7 OSI模型18

1.8 BSD网络历史20

1.9 测试用网络及主机22

1.10 Unix标准25

1.11 64位体系结构28

1.12 小结29

Chapter 2.传输层:TCP、UDP和SCTP31

2.1 概述31

2.2 全景图32

2.3 用户数据报协议34

2.4 传输控制协议35

2.5 流控制传输协议36

2.6 TCP连接的建立和终止37

2.7 TIME_WAIT状态43

2.8 SCTP关联的建立和终止44

2.9 端口号50

2.10 TCP端口号与并发服务器52

2.11 缓冲区大小及限制55

2.12 标准因特网服务61

2.13 常见因特网应用所用的协议62

2.14 小结63

Part 2.基本套接字65

Chanter 3.套接字简介67

3.1 概述67

3.2 套接字地址结构67

3.3 值-结果参数74

3.4 字节排序函数77

3.5 字节操纵函数80

3.6 inet_aton、inet_addr和inet_ntoa函数82

3.7 inet_pton和inet_ntop函数83

3.8 sock_ntop和相关函数86

3.9 readn、writen和readline函数88

3.10 小结92

Chapter 4.基本TCP套接字95

4.1 概述95

4.2 socket函数95

4.3 connect函数99

4.4 bind函数101

4.5 listen函数104

4.6 accept函数109

4.7 fork和exec函数111

4.8 并发服务器114

4.9 close函数117

4.10 getsockname和getpeername函数117

4.11 小结120

Chapter 5.TCP客户/服务器示例121

5.1 概述121

5.2 TCP回送服务器程序:main函数122

5.3 TCP回送服务器程序:str_echo函数123

5.4 TCP回送客户程序:main函数124

5.5 TCP回送客户程序:str_cli函数125

5.6 正常启动126

5.7 正常终止128

5.8 POSIX信号处理129

5.9 处理SIGCHLD信号132

5.10 wait和waitpid函数135

5.11 accept返回前连接异常中止139

5.12 服务器进程的终止141

5.13 SIGPIPE信号142

5.14 服务器主机崩溃144

5.15 服务器主机崩溃及重启144

5.16 服务器主机关机145

5.17 TCP示例小结146

5.18 数据格式147

5.19 小结151

Chapter 6.I/O多路复用:select和poll函数153

6.1 概述153

6.2 I/O模型154

6.3 select函数160

6.4 再访str_cli函数167

6.5 批量输入和缓冲169

6.6 shutdown函数172

6 7 三顾str_cli函数173

6.8 再访TCP回送服务器程序175

6.9 pselect函数181

6.10 poll函数182

6.1 1 三顾TCP回送服务器程序185

6.12 小结188

Chapter 7.套接字选项191

7.1 概述191

7.2 getsockopt和setsockopt函数192

7.3 检查选项是否被支持并获取默认值194

7.4 套接字状态198

7.5 通用套接字选项198

7.6 IPv4套接字选项214

7.7 ICMPv6套接字选项216

7.8 IPv6套接字选项216

7.9 TCP套接字选项219

7.10 SCTP套接字选项222

7.1 1 fcntl函数233

7.12 小结236

Chapter 8.基本UDP套接字239

8.1 概述239

8.2 recvfrom和sendto函数240

8.3 UDP回送服务器程序:main函数241

8.4 UDP回送服务器程序:dg_echo函数242

8.5 UDP回送客户程序:main函数244

8.6 UDP回送客户程序:dg_cli函数245

8.7 数据报的丢失245

8.8 验证接收到的响应246

8.9 服务器程序未运行248

8.10 UDP示例小结250

8.11 UDP的connect函数252

8.12 再论dg_cli函数256

8.13 UDP缺乏流量控制257

8.14 UDP中的外出接口的确定261

8.15 使用select函数的TCP和UDP回送服务器程序262

8.16 小结264

Chapter 9.基本SCTP套接字267

9.1 概述267

9.2 接口模型268

9.3 sctp_bindx函数272

9.4 sctp_connectx函数274

9.5 sctp_getpaddrs函数275

9.6 sctp_freepaddrs函数275

9.7 sctp_get laddrs函数275

9.8 sctp_freeladdrs函数276

9.9 sctp_sendmsg函数276

9.10 sctp_recvmsg函数277

9.11 sctp_opt_info函数278

9.12 sctp_peeloff函数278

9.13 shutdown函数278

9.14 通知280

9.15 小结286

Chapter 10.SCTP客户/服务器示例287

10.1 概述287

10.2 SCTP—到多式流分回送服务器程序:main函数288

10.3 SCTP—到多式流分回送客户程序:main函数290

10.4 SCTP流分回送客户程序:str_cli函数292

10.5 探究头端阻塞293

10.6 控制流的数目299

10.7 控制终止300

10.8 小结301

Chapter 11.名字与地址转换303

11.1 概述303

11.2 域名系统303

11.3 gethostbyname函数307

11.4 gethostbyaddr函数310

11.5 getservbyname和getservbyport函数311

11.6 getaddrinfo函数315

11.7 gai_strerror函数320

11.8 freeaddrinfo函数321

11.9 getaddrinfo函数:IPv6322

11.10 getaddrinfo函数:示例324

11.11 host_serv函数325

11.12 tcp_connect函数326

11.13 tcp_listen函数330

11.14 udp_client函数334

11.15 udp_connect函数337

11.16 udp_server函数338

11.17 getnameinfo函数340

11.18 可重入函数341

11.19 gethostbyname_r和gethostbyaddr_r函数344

11.20 废弃的IPv6地址解析函数346

11.21 其他联网信息348

11.22 小结349

Part 3.高级套接字351

Chapter 12.IPv4与IPv6的互操作性353

12.1 概述353

12.2 IPv4客户与IPv6服务器354

12.3 IPv6客户与IPv4服务器357

12.4 IPv6地址测试宏360

12.5 源代码可移植性361

12.6 小结362

Chapter 13.守护进程和 inetd超级服务器程序363

13.1 概述363

13.2 syslogd守护进程364

13.3 syslog函数365

13.4 daemon_init函数367

13.5 inetd守护进程371

13.6 daemon_inetd函数377

13.7 小结379

Chapter 14.高级I/O函数381

14.1 概述381

14.2 套接字超时381

14.3 recv和send函数387

14.4 readv和writev函数389

14.5 recvmsg和sendmsg函数390

14.6 辅助数据395

14.7 排队的数据量398

14.8 套接字和标准I/O399

14.9 高级轮询技术402

14.10 小结408

Chapter 15.Unix域协议411

15.1 概述411

15.2 Unix域套接字地址结构412

15.3 socketpair函数414

15.4 套接字函数415

15.5 Unix域流客户/服务器416

15.6 Unix域数据报客户/服务器418

15.7 描述符传递420

15.8 接收发送者的凭证429

15.9 小结432

Chapter 16.非阻塞I/O435

16.1 概述435

16.2 非阻塞读和写:再论str_cli函数437

16.3 非阻塞connect448

16.4 非阻塞connect:时间获取客户程序449

16.5 非阻塞connect:Web客户程序452

16.6 非阻塞accept461

16.7 小结463

Chapter 17.ioctl操作465

17.1 概述465

17.2 ioctl函数466

17.3 套接字操作466

17.4 文件操作468

17.5 接口配置468

17.6 get_ifi_info函数469

17.7 接口操作480

17.8 ARP高速缓存操作481

17.9 路由表操作483

17.10 小结484

Chapter 18.路由套接字485

18.1 概述485

18.2 数据链路套接字地址结构486

18.3 读和写487

18.4 sysctl操作495

18.5 get_ifi_info函数500

18.6 接口名字和索引函数504

18.7 小结508

Chapter 19.密钥管理套接字511

19.1 概述511

19.2 读和写512

19.3 安全关联数据库的转储514

19.4 创建静态安全关联517

19.5 动态维护安全关联524

19.6 小结528

Chapter20.广播529

20.1 概述529

20.2 广播地址531

20.3 单播和广播的比较532

20.4 使用广播的dg_cli函数535

20.5 竞争状态538

20.6 小结547

Chapter 21.多播549

21.1 概述549

21.2 多播地址549

21.3 局域网上多播和广播的比较553

21.4 广域网上的多播556

21.5 源特定多播558

21.6 多播套接字选项559

21.7 mcast_join和相关函数565

21.8 使用多播的dg_cli函数570

21.9 接收IP多播基础设施会话声明571

21.10 发送和接收575

21.11 简单网络时间协议579

21.12 小结584

Chapter 22.高级UDP套接字587

22.1 概述587

22.2 接收标志、目的IP地址和接口索引588

22.3 数据报截断594

22.4 何时用UDP代替TCP594

22.5 给UDP应用增加可靠性597

22.6 绑定接口地址608

22.7 并发UDP服务器612

22.8 IPv6分组信息615

22.9 IPv6路径MTU控制618

22.10 小结620

Chapter 23.高级SCTP套接字621

23.1 概述621

23.2 自动关闭的一到多式服务器程序621

23.3 部分递送622

23.4 通知625

23.5 无序的数据629

23.6 绑定地址子集630

23.7 确定对端和本端地址信息631

23.8 给定IP地址找出关联ID635

23.9 心搏和地址不可达636

23.10 关联剥离637

23.11 定时控制639

23.12 何时用SCTP代替TCP641

23.13 小结643

Chapter 24.带外数据645

24.1 概述645

24.2 TCP带外数据645

24.3 sockatmark函数654

24.4 TCP带外数据小结661

24.5 小结662

Chapter 25.信号驱动I/O663

25.1 概述663

25.2 套接字的信号驱动I/O664

25.3 使用SIGIO的UDP回送服务器程序666

25.4 小结672

Chapter26.线程675

26.1 概述675

26.2 基本线程函数:创建和终止676

26.3 使用线程的str_cli函数679

26.4 使用线程的TCP回送服务器程序681

26.5 线程特定数据686

26.6 Web客户与同时连接(续)694

26.7 互斥锁697

26.8 条件变量701

26.9 Web客户与同时连接(续)705

26.10 小结707

Chapter 27.IP选项709

27.1 概述709

27.2 IPv4选项709

27.3 IP源路径选项711

27.4 IPv6扩展首部719

27.5 IPv6步跳选项和目的选项719

27.6 IPv6路由首部725

27.7 IPv6粘附选项731

27.8 /历史性IPv6高级API732

27.9 小结733

Chapter 28.原始套接字735

28.1 概述735

28.2 原始套接字创建736

28.3 原始套接字输出737

28.4 原始套接字输入739

28.5 ping程序741

28.6 traceroute程序755

28.7 一个ICMP消息守护进程769

28.8 小结786

Chapter 29.数据链路访问787

29.1 概述787

29.2 BSD分组过滤器788

29.3 数据链路提供者接口790

29.4 Linux:SOCK PACKET和PF PACKET791

29.5 libpcap:分组捕获函数库792

29.6 libnet:分组构造与注入函数库793

29.7 检查UDP的校验和字段793

29.8 小结815

Chapter 30.多种客户/服务器设计方式817

30.1 概述817

30.2 各种TCP客户程序设计方式819

30.3 TCP测试用客户程序820

30.4 TCP迭代服务器程序821

30.5 TCP并发服务器程序,每个客户一个子进程822

30.6 TCP预先派生子进程服务器程序,accept无上锁保护826

30.7 TCP预先派生子进程服务器程序,accept使用文件上锁保护832

30.8 TCP预先派生子进程服务器程序,accept使用线程上锁保护835

30.9 TCP预先派生子进程服务器程序,传递描述符836

30.10 TCP并发服务器程序,每个客户一个线程842

30.11 TCP预先创建线程服务器程序,每个线程各自accept844

30.12 TCP预先创建线程服务器程序,主线程统一accept846

30.13 小结849

Chapter 31.STREAMS851

31.1 概述851

31.2 概貌851

31.3 getmsg和putmsg函数856

31.4 getpmsg和putpmsg函数857

31.5 ioctl函数857

31.6 传输提供者接口858

31.7 小结868

Appendix A.IPv4、IPv6、ICMPv4和ICMPv6869

A.1 概述869

A.2 IPv4首部869

A.3 IPv6首部871

A.4 IPv4地址874

A.5 IPv6地址877

A.6 因特网控制消息协议(ICMPv4和ICMPv6)882

Appendix B.虚拟网络885

B.1 概述885

B.2 The MBone885

B.3 The 6bone887

B.4 IPv6过渡:6to4889

Appendix C.调试技术891

C.1 系统调用跟踪891

C.2 标准因特网服务893

C.3 sock程序893

C 4 小测试程序896

C.5 tcpdump程序896

C.6 netstat程序896

C.7 lsof程序897

Appendix D.其他源代码899

D.1 unp.h头文件899

D.2 config.h头文件904

D.3 标准错误处理函数910

Appendix E.精选习题答案913

参考文献947

热门推荐