人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

UNIX网络编程 卷一1套接字联网API 第三3版

126.80
运费: ¥ 0.00-20.00
UNIX网络编程 卷一1套接字联网API 第三3版 商品图0
UNIX网络编程 卷一1套接字联网API 第三3版 商品图1
UNIX网络编程 卷一1套接字联网API 第三3版 商品图2
UNIX网络编程 卷一1套接字联网API 第三3版 商品图3
UNIX网络编程 卷一1套接字联网API 第三3版 商品图4
UNIX网络编程 卷一1套接字联网API 第三3版 商品图5
UNIX网络编程 卷一1套接字联网API 第三3版 商品缩略图0 UNIX网络编程 卷一1套接字联网API 第三3版 商品缩略图1 UNIX网络编程 卷一1套接字联网API 第三3版 商品缩略图2 UNIX网络编程 卷一1套接字联网API 第三3版 商品缩略图3 UNIX网络编程 卷一1套接字联网API 第三3版 商品缩略图4 UNIX网络编程 卷一1套接字联网API 第三3版 商品缩略图5

商品详情

书名:UNIX网络编程 卷1 套接字联网API 第3版  
定价:169.0  
ISBN:9787115517791  
作者:W.理查德·史蒂文斯 等  
版次:第3版  
出版时间:2019-10  

内容提要:  
本书是UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的*级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,*后还深入分析了流这种设备驱动机制。 本书内容详尽且具*威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。  

作者简介:  
W. 理查德·史蒂文斯(W. Richard Stevens)(1951—1999) 国际知名的UNIX和网络专家,备受赞誉的技术作家。生前著有《TCP/IP详解》(三卷)、《UNIX环境*级编程》和《UNIX网络编程》(两卷),均为不朽的经典著作。 比尔·芬纳(Bill Fenner) AT&T实验室主任研究员,专攻IP多播、网络管理和测量,他是IETF路由的领域主管之一,是RFC标准文档的批准人。 安德鲁·M. 鲁道夫(Andrew M.Rudoff) Sun公司*深软件工程师,专攻网络、操作系统内核、文件系统和高可用性软件体系结构。  

目录:  
目  录  

第 一部分 简介和TCP/IP  
第 1章 简介 2  
1.1 概述 2  
1.2 一个简单的时间获取客户程序 5  
1.3 协议无关性 9  
1.4 错误处理:包裹函数 10  
1.5 一个简单的时间获取服务器程序 12  
1.6 本书中客户/服务器程序示例索引表 14  
1.7 OSI模型 16  
1.8 BSD网络支持历史 17  
1.9 测试用网络及主机 19  
1.10 Unix标准 22  
1.11 64位体系结构 24  
1.12 小结 25  
习题 25  
第 2章 传输层:TCP、UDP和SCTP 27  
2.1 概述 27  
2.2 总图 27  
2.3 用户数据报协议(UDP) 29  
2.4 传输控制协议(TCP) 30  
2.5 流控制传输协议(SCTP) 31  
2.6 TCP连接的建立和终止 31  
2.7 TIME_WAIT状态 37  
2.8 SCTP关联的建立和终止 38  
2.9 端口号 42  
2.10 TCP端口号与并发服务器 43  
2.11 缓冲区大小及限制 45  
2.12 标准因特网服务 50  
2.13 常见因特网应用的协议使用 51  
2.14 小结 52  
习题 53  
*二部分 基本套接字编程  
第3章 套接字编程简介 56  
3.1 概述 56  
3.2 套接字地址结构 56  
3.3 值—结果参数 61  
3.4 字节排序函数 63  
3.5 字节操纵函数 66  
3.6 inet_aton、inet_addr和inet_ntoa函数 67  
3.7 inet_pton和inet_ntop函数 68  
3.8 sock_ntop和相关函数 70  
3.9 readn、writen和readline函数 72  
3.10 小结 76  
习题 76  
第4章 基本TCP套接字编程 77  
4.1 概述 77  
4.2 socket函数 77  
4.3 connect函数 80  
4.4 bind函数 81  
4.5 listen函数 84  
4.6 accept函数 88  
4.7 fork和exec函数 90  
4.8 并发服务器 91  
4.9 close函数 93  
4.10 getsockname和getpeername函数 94  
4.11 小结 96  
习题 96  
第5章 TCP客户/服务器程序示例 97  
5.1 概述 97  
5.2 TCP回射服务器程序:main函数 97  
5.3 TCP回射服务器程序:str_echo函数 98  
5.4 TCP回射客户程序:main函数 99  
5.5 TCP回射客户程序:str_cli函数 100  
5.6 正常启动 101  
5.7 正常终止 102  
5.8 POSIX信号处理 103  
5.9 处理SIGCHLD信号 106  
5.10 wait和waitpid函数 108  
5.11 accept返回前连接中止 111  
5.12 服务器进程终止 112  
5.13 SIGPIPE信号 113  
5.14 服务器主机崩溃 114  
5.15 服务器主机崩溃后重启 115  
5.16 服务器主机关机 116  
5.17 TCP程序例子小结 116  
5.18 数据格式 117  
5.19 小结 120  
习题 120  
第6章 I/O复用:select和poll函数 122  
6.1 概述 122  
6.2 I/O模型 122  
6.3 select函数 127  
6.4 str_cli函数(修订版) 132  
6.5 批量输入 133  
6.6 shutdown函数 136  
6.7 str_cli函数(再修订版) 137  
6.8 TCP回射服务器程序(修订版) 138  
6.9 pselect函数 142  
6.10 poll函数 144  
6.11 TCP回射服务器程序(再修订版) 146  
6.12 小结 148  
习题 149  
第7章 套接字选项 150  
7.1 概述 150  
7.2 getsockopt和setsockopt函数 150  
7.3 检查选项是否受支持并获取默认值 152  
7.4 套接字状态 156  
7.5 通用套接字选项 156  
7.6 IPv4套接字选项 168  
7.7 ICMPv6套接字选项 169  
7.8 IPv6套接字选项 169  
7.9 TCP套接字选项 171  
7.10 SCTP套接字选项 173  
7.11 fcntl函数 182  
7.12 小结 184  
习题 184  
第8章 基本UDP套接字编程 186  
8.1 概述 186  
8.2 recvfrom和sendto函数 187  
8.3 UDP回射服务器程序:main函数 187  
8.4 UDP回射服务器程序:dg_echo函数 188  
8.5 UDP回射客户程序:main函数 190  
8.6 UDP回射客户程序:dg_cli函数 190  
8.7 数据报的丢失 191  
8.8 验证接收到的响应 191  
8.9 服务器进程未运行 193  
8.10 UDP程序例子小结 194  
8.11 UDP的connect函数 196  
8.12 dg_cli函数(修订版) 199  
8.13 UDP缺乏流量控制 200  
8.14 UDP中的外出接口的确定 203  
8.15 使用select函数的TCP和UDP回射服务器程序 204  
8.16 小结 206  
习题 207  
第9章 基本SCTP套接字编程 208  
9.1 概述 208  
9.2 接口模型 208  
9.3 sctp_bindx函数 212  
9.4 sctp_connectx函数 213  
9.5 sctp_getpaddrs函数 213  
9.6 sctp_freepaddrs函数 213  
9.7 sctp_getladdrs函数 214  
9.8 sctp_freeladdrs函数 214  
9.9 sctp_sendmsg函数 214  
9.10 sctp_recvmsg函数 215  
9.11 sctp_opt_info函数 215  
9.12 sctp_peeloff函数 216  
9.13 shutdown函数 216  
9.14 通知 217  
9.15 小结 221  
习题 222  
第 10章 SCTP客户/服务器程序例子 223  
10.1 概述 223  
10.2 SCTP一到多式流分回射服务器程序:main函数 223  
10.3 SCTP一到多式流分回射客户程序:main函数 225  
10.4 SCTP流分回射客户程序:sctpstr_cli函数 226  
10.5 探究头端阻塞 228  
10.6 控制流的数目 233  
10.7 控制终结 233  
10.8 小结 234  
习题 235  
第 11章 名字与地址转换 236  
11.1 概述 236  
11.2 域名系统 236  
11.3 gethostbyname函数 239  
11.4 gethostbyaddr函数 242  
11.5 getservbyname和getservbyport函数 242  
11.6 getaddrinfo函数 245  
11.7 gai_strerror函数 250  
11.8 freeaddrinfo函数 251  
11.9 getaddrinfo函数:IPv6 251  
11.10 getaddrinfo函数:例子 253  
11.11 host_serv函数 254  
11.12 tcp_connect函数 254  
11.13 tcp_listen函数 257  
11.14 udp_client函数 261  
11.15 udp_connect函数 263  
11.16 udp_server函数 264  
11.17 getnameinfo函数 266  
11.18 可重入函数 267  
11.19 gethostbyname_r和gethostbyaddr_r函数 270  
11.20 作废的IPv6地址解析函数 271  
11.21 其他网络相关信息 272  
11.22 小结 273  
习题 274  
第三部分 *级套接字编程  
第 12章 IPv4与IPv6的互操作性 278  
12.1 概述 278  
12.2 IPv4客户与IPv6服务器 278  
12.3 IPv6客户与IPv4服务器 281  
12.4 IPv6地址测试宏 283  
12.5 源代码可移植性 284  
12.6 小结 284  
习题 285  
第 13章 守护进程和inetd超级服务器 286  
13.1 概述 286  
13.2 syslogd守护进程 286  
13.3 syslog函数 287  
13.4 daemon_init函数 289  
13.5 inetd守护进程 293  
13.6 daemon_inetd函数 297  
13.7 小结 299  
习题 299  
第 14章 *级I/O函数 300  
14.1 概述 300  
14.2 套接字超时 300  
14.3 recv和send函数 305  
14.4 readv和writev函数 306  
14.5 recvmsg和sendmsg函数 307  
14.6 辅助数据 310  
14.7 排队的数据量 313  
14.8 套接字和标准I/O 313  
14.9 *级轮询技术 316  
14.10 T/TCP:事务目的TCP 320  
14.11 小结 322  
习题 323  
第 15章 Unix域协议 324  
15.1 概述 324  
15.2 Unix域套接字地址结构 324  
15.3 socketpair函数 326  
15.4 套接字函数 327  
15.5 Unix域字节流客户/服务器程序 327  
15.6 Unix域数据报客户/服务器程序 329  
15.7 描述符传递 330  
15.8 接收发送者的凭证 337  
15.9 小结 340  
习题 340  
第 16章 非阻塞式I/O 341  
16.1 概述 341  
16.2 非阻塞读和写:str_cli函数  
(修订版) 342  
16.3 非阻塞connect 351  
16.4 非阻塞connect:时间获取客户  
程序 352  
16.5 非阻塞connect:Web客户程序 354  
16.6 非阻塞accept 362  
16.7 小结 363  
习题 363  
第 17章 ioctl操作 365  
17.1 概述 365  
17.2 ioctl函数 365  
17.3 套接字操作 366  
17.4 文件操作 367  
17.5 接口配置 367  
17.6 get_ifi_info函数 369  
17.7 接口操作 378  
17.8 ARP高速缓存操作 378  
17.9 路由表操作 380  
17.10 小结 381  
习题 381  
第 18章 路由套接字 382  
18.1 概述 382  
18.2 数据链路套接字地址结构 382  
18.3 读和写 383  
18.4 sysctl操作 390  
18.5 get_ifi_info函数 394  
18.6 接口名字和索引函数 397  
18.7 小结 401  
习题 401  
第 19章 密钥管理套接字 402  
19.1 概述 402  
19.2 读和写 403  
19.3 倾泻安全关联数据库 404  
19.4 创建静态安全关联 407  
19.5 动态维护安全关联 412  
19.6 小结 415  
习题 416  
第 20章 广播 417  
20.1 概述 417  
20.2 广播地址 418  
20.3 单播和广播的比较 419  
20.4 使用广播的dg_cli函数 422  
20.5 竞争状态 424  
20.6 小结 431  
习题 432  
第 21章 多播 433  
21.1 概述 433  
21.2 多播地址 433  
21.3 局域网上多播和广播的比较 436  
21.4 广域网上的多播 438  
21.5 源特定多播 440  
21.6 多播套接字选项 441  
21.7 mcast_join和相关函数 445  
21.8 使用多播的dg_cli函数 450  
21.9 接收IP多播基础设施会话声明 451  
21.10 发送和接收 454  
21.11 SNTP:简单网络时间协议 457  
21.12 小结 461  
习题 461  
第 22章 *级UDP套接字编程 462  
22.1 概述 462  
22.2 接收标志、目的IP地址和接口索引 462  
22.3 数据报截断 467  
22.4 何时用UDP代替TCP 467  
22.5 给UDP应用增加可靠性 469  
22.6 捆绑接口地址 478  
22.7 并发UDP服务器 482  
22.8 IPv6分组信息 483  
22.9 IPv6路径MTU控制 486  
22.10 小结 487  
习题 488  
第 23章 *级SCTP套接字编程 489  
23.1 概述 489  
23.2 自动关闭的一到多式服务器程序 489  
23.3 部分递送 490  
23.4 通知 492  
23.5 无序的数据 495  
23.6 捆绑地址子集 496  
23.7 确定对端和本端地址信息 497  
23.8 给定IP地址找出关联ID 500  
23.9 心搏和地址不可达 501  
23.10 关联剥离 502  
23.11 定时控制 503  
23.12 何时改用SCTP代替TCP 505  
23.13 小结 506  
习题 506  
第 24章 带外数据 507  
24.1 概述 507  
24.2 TCP带外数据 507  
24.3 sockatmark函数 513  
24.4 TCP带外数据小结 519  
24.5 客户/服务器心搏函数 520  
24.6 小结 524  
习题 524  
第 25章 信号驱动式I/O 525  
25.1 概述 525  
25.2 套接字的信号驱动式I/O 525  
25.3 使用SIGIO的UDP回射服务器程序 527  
25.4 小结 532  
习题 533  
第 26章 线程 534  
26.1 概述 534  
26.2 基本线程函数:创建和终止 535  
26.3 使用线程的str_cli函数 537  
26.4 使用线程的TCP回射服务器程序 538  
26.5 线程特定数据 542  
26.6 Web客户与同时连接 549  
26.7 互斥锁 552  
26.8 条件变量 555  
26.9 Web客户与同时连接(续) 558  
26.10 小结 560  
习题 560  
第 27章 IP选项 561  
27.1 概述 561  
27.2 IPv4选项 561  
27.3 IPv4源路径选项 562  
27.4 IPv6扩展首部 569  
27.5 IPv6步跳选项和目的地选项 569  
27.6 IPv6路由首部 573  
27.7 IPv6粘附选项 577  
27.8 历史性IPv6*级API 578  
27.9 小结 579  
习题 579  
第 28章 原始套接字 580  
28.1 概述 580  
28.2 原始套接字创建 580  
28.3 原始套接字输出 581  
28.4 原始套接字输入 582  
28.5 ping程序 584  
28.6 traceroute程序 596  
28.7 一个ICMP消息守护程序 608  
28.8 小结 622  
习题 622  
第 29章 数据链路访问 623  
29.1 概述 623  
29.2 BPF:BSD分组过滤器 623  
29.3 DLPI:数据链路提供者接口 625  
29.4 Linux:SOCK_PACKET和  
PF_PACKET 626  
29.5 libpcap:分组捕获函数库 627  
29.6 libnet:分组构造与输出函数库 627  
29.7 检查UDP的校验和字段 628  
29.8 小结 645  
习题 645  
第30章 客户/服务器程序设计范式 646  
30.1 概述 646  
30.2 TCP客户程序设计范式 648  
30.3 TCP测试用客户程序 649  
30.4 TCP迭代服务器程序 650  
30.5 TCP并发服务器程序,  
每个客户一个子进程 650  
30.6 TCP预先派生子进程服务器程序,accept无上锁保护 653  
30.7 TCP预先派生子进程服务器程序,accept使用文件上锁保护 659  
30.8 TCP预先派生子进程服务器程序,accept使用线程上锁保护 662  
30.9 TCP预先派生子进程服务器程序,传递描述符 663  
30.10 TCP并发服务器程序,每个客户一个线程 667  
30.11 TCP预先创建线程服务器程序,每个线程各自accept 669  
30.12 TCP预先创建线程服务器程序,主线程统一accept 671  
30.13 小结 673  
习题 674  
第31章 流 675  
31.1 概述 675  
31.2 概貌 675  
31.3 getmsg和putmsg函数 678  
31.4 getpmsg和putpmsg函数 679  
31.5 ioctl函数 680  
31.6 TPI:传输提供者接口 680  
31.7 小结 689  
习题 689  
附录A IPv4、IPv6、ICMPv4和ICMPv6 690  
附录B 虚拟网络 704  
附录C 调试技术 708  
附录D 杂凑的源代码 714  
附录E 精选习题答案 726  
参考文献 756  
索引 763  

人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信公众号认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

UNIX网络编程 卷一1套接字联网API 第三3版

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:renyoushe
人民邮电出版社官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏