UNIX网络编程(第1卷)

当前位置:首页 > 计算机网络 > 操作系统/系统开发 > UNIX网络编程(第1卷)

出版社:清华大学出版社
出版日期:2001-2
ISBN:9787302035480
作者:[美] W. Richard Stevens
页数:857页

书籍目录

前言
第l部分 简介和tcp/ip
第1章 简介
1.1 概述
1.2 一个简单的时间/日期客户程序
1.3 协议无关性
1.4 错误处理:包裹函数
1.5 一个简单的时间/日期服务器程序
1.6 书中客户—服务器程序例子索引表
1.7 0si模型
1.8 bsd网络支持历史
1.9 酗试用网络及主机
1.10 unix标准
1.11 64位体系结构
1.12 小结
l.13 习题
第2章 传输层:tcf和udp
2.1 概述
2.2 总图
2.3 udp:用户数据报协议
2.4 tcp:传输控制协议
2.5 tcp连接的建立和终止
2.6 time_wait状态
2.7 端口号
2.8 tcp端口号与并发服务器
2.9 缓冲区大小及限制
2.10 标准因特网服务
2.11 常见因特网应用程序的协议使用
2.12 小结
2.13 习题
第2部分 基本套接口编程
第3章 套接口编程简介
3.1 概述
3.2 套接口地址结构
3.3 值—结果参数
3.4 字节排序函数
3.5 字节操纵函数
3.6 inet—aton、inet—addr和inet—ntoa函数
3.7 inet—pton和inet—ntop函数
3.8 sock—ntop和相关函数
3.9 readn、writen和readline函数
3.10 isfdtype函数
3.11 小结
3.12 习题
第4章 基本tcp套接口编程
4.1 概述
4.2 socket函数
4.3 connect函数
4.4 bind函数
4.5 listen函数
4.6 accept函数
4.7 fork和exec函数
4.8 并发服务器
4.9 close函数
4.10 getsockname和getpeername函数
4.11 小结
4.12 习题
第5章 tcp客户—服务器程序例子
5.1 概述
5.2 tcp回射服务器程序:main函数
5.3 tcp回射服务器程序:str_echo函数
5.4 tcp回射客户程序imain函数
5.5 tcp回射客户程序:str—cli函数
5.6 正常启动
5.7 正常终止
5.8 posix信号处理
5.9 处理sigchld信号
5.10 wait和waitpid函数
5.11 accept返回前连接天折
5.12 服务器进程终止
5.13 sighp2信号
5.14 服务器主机崩溃
5.15 服务器主机崩溃后重启
5.16 服务器主机关机
5.17 tcf程序例子小结
5.18 数据格式
5.19 小结
5.20 习题
第6章 i/0复用:sdect和poll函数
6.1 概述
6.2 i/o模型
6.3 select函数
6.4 str_cli函数(修订版)
6.5 批量输入
6.6 shutdown函数
6.7 str_cli函数(再修订版)
6.8 tcp回射服务器程序(修订版)
6.9 pselect函数
6.10 po11函数
6.11 tcp回射服务器程序(再修订版)
6.12 小结
6.13 习题
第7章 套接口选项
7.1 概述
7.2 getsockopt和setsockopt函数
7.3 检查选项是否受支持并获取缺省值
7.4 套接口状态
7.5 基本套接口选项
7.6 ipv4套接口选项
7.7 icmpv6套接口选项
7.8 ipv6套接口选项
7.9 tcp套接口选项
7.10 fcntl函数
7.11 小结
7.12 习题
第8章 基本udp套接口编程
8.1 概述
8.2 recvfrom和sendto函数
8.3 udp回射服务器程序: main函数
8.4 udp回射服务器程序:dg_echo函数
8.5 unp回射客户程序:main函数
8.6 udp回射客户程序:dg_cli函数
8.7 数据报的丢失
8.8 验证接收到的响应
8.9 服务器进程未运行
8.10 udp程序例子小结
8.11 udp的connect函数
8.12 dg_cli函数(修订版)
8.13 udp缺乏流量控制
8.14 udp中外出接口的确定
8.15 使用select函数的tcp和udp回射服务器程序
8.16 小结
8.17 习题
第9章 基本名字与地址转换
9.1 概述
9.2 域名系统
9.3 gethostbyname函数
9.4 res_use_inet6解析器选项
9.5 gethostbyname2函数与ipv6支持
9.6 gethostbyadjr函数
9.7 uname函数
9.8 gethostname函数
9.9 getservbyname和getservbyport函数
9.10 其他网络相关信息
9.11 小结
9.12 习题
第3部分 高级套接口编程
第10窜 ipv4和ipv6的互操作性
10.1 概述
10.2 ipv4客户与ipv6服务器
10.3 ipv6客户与ipv4服务器
10.4 ipv6地址测试宏
10.5 ipv6_addrform套接口选项
10.6 源代码可移植性
10.7 小结
l0.8 习题
第11章 高级名字与地址转换
11.1 概述
11.2 getaddrinfo函数
11.3 gai_strenor函数
11.4 freeaddrinfo函数
11.5 getaddrinfo函数:ipv6和unix域
11.6 getaddrinfo函数:例子
11.7 host_serv函数
11.8 tcp_connect函数
11.9 tcp_listen函数
11.10 udp_client函数
11.11 udp_connect函数
11.12 udp_server函数
11.13 getnameinfo函数
11.14 可重入函数
11.15 gethostbyname_r和gethostbyaddr_r函数
11.16 getaddrinfo和getnameinfo函数的实现
11.17 小结
11.18 习题
第12章 守护进程和inetd超级服务器
12.1 概述
12.2 syslogd守护进程
12.3 syslog函数
12.4 daemon_init函数
12.5 inetd守护进程
12.6 daemon_inetd函数
12.7 小结
12.8 习题
第13章 高级i/o函数
13.1 概述
13.2 套接口超时
13.3 recv和send函数
13.4 readv和writev函数
13.5 recvmsg和sendmsg函数
13.6 辅助数据
13.7 排队的数据量
13.8 套接口与标准i/o
13.9 t/tcp:事务tcp
13.10 小结
13.11 习题
第14章 unix域协议
14.1 概述
14.2 unix域套接口地址结构
14.3 socketpair函数
14.4 套接口函数
14.5 unix域字节流客户—服务器程序
14.6 unix域数据报客户—服务器程序
14.7 描述字传递
14.8 接收发送者的凭证
14.9 小结
14.10 习题
第15章 非阻塞i/0
15.1 概述
15.2 非阻塞读和写:str_cli函数(修订版)
15.3 非阻塞connect
15.4 非阻塞connect:日期/时间客户程序
15.5 非阻塞connect:web客户程序
15.6 非阻塞accept
15.7 小结
15.8 习题
第16章 ioct1操作
16.1 概述
16.2 ioctl函数
16.3 套接口操作
16.4 文件操作
16.5 接口配置
16.6 get_ifi_info函数
16.7 接口操作
16.8 arp高速缓存操作
16.9 路由表操作
16.10 小结
16.11 习题
第17章 路由套接口
17.1 概述
17.2 数据链路套接口地址结构
17.3 读和写
17.4 sysctl操作
17.5 get_ifi_info函数
17.6 接口名和索引函数
17.7 小结
17.8 习题
第18章 广播
18.1 概述
18.2 广播地址
18.3 单播和广播的比较
18.4 使用广播的dg_cli函数
18.5 竞争状态
18.6 小结
18.7 习题
第19章 多播
19.1 概述
19.2 多播地址
19.3 局域网上多播和广播的比较
19.4 广域网上的多播
19.5 多播套接口选项
19.6 mcast_join和相关函数
19.7 使用多播的dg_cli函数
19.8 接收mbone会话声明
l9.9 发送和接收
19.10 sntp:简单网络时间协议
l9.11 sntp(续)
19.12 小结
19.13 习题
第20章 高级udp套接口编程
20.1 概述
20.2 接收标志、目的ip地址和接口索引
20.3 数据报截断
20.4 何时使用udp而不是tcp
20.5 给udp应用程序增加可靠性
20.6 捆绑接口地址
20.7 并发udp服务器
20.8 ipv6分组信息
20.9 小结
20.10 习题
第21章 带外数据
21.1 概述
21.2 tcp带外数据
21.3 sockatmark函数
21.4 tcp带外数据小结
21.5 客户—服务器心博函数
21.6 小结
21.7 习题
第22章 信号驱动i/0
22.1 概述
22.2 套接口上的信号驱动i/o
22.3 使用sigio的udp回射服务器程序
22.4 小结
22.5 习题
第23章 线程
23.1 概述
23.2 基本线程函数:创建和终止
23.3 使用线程的str_cli函数
23.4 使用线程的tcp回射服务器程序
23.5 线程特定数据
23.6 web客户与同时连接
23.7 互斥锁
23.8 条件变量
23.9 web客户与同时连接(续)
23.10 小结
23.11 习题
第24章 ip选项
24.1 概述
24.2 ipv4选项
24.3 ip源路径选项
24.4 ipv6扩展头部
24.5 ipv6步跳选项和目的选项
24.6 ipv6路由头部
24.7 ipv6粘附选项
24.8 小结
24.9 习题
第25章 原始套接口
25.1 概述
25.2 原始套接口创建
25.3 原始套接口输出
25.4 原始套接口输入
25.5 ping程序
25.6 tracenute程序
25.7 一个icmp消息守护进程
25.8 小结
25.9 习题
第26章 数据链路访问
26.1 概述
26.2 bpf:踢d分组过滤器
26.3 dlpi:数据链路提供者接口
26.4 linux:sock_packet
26.5 1ibpcap:分组捕获函数库
26.6 检查udp的校验和字段
26.7 小结
26.8 习题
第27章 客户—服务器程序其他设计方法
27.1 概述
27.2 tcp客户程序其他设计方法
27.3 tcp测试用客户程序
27.4 tcp迭代服务器程序
27.5 tcp并发服务器程序,每个客户一个子进程
27.6 tcp预先派生子进程服务器程序,accept无上铵保护
27.7 tcp预先派生子进程服务器程序,sccept使用文件锁保护
27.8 tcp预先派生子进程服务器程序,accept使用线程互斥锁保护
27.9 tcp预先派生子进程服务器程序,传递描述字
27.10 tcp并发服务器程序,每个客户一个线程
27.11 tcp预先创建线程服务器程序,每个线程各自accept
27.12 tcp预先创建线程服务器程序,主线程统一accept
27.13 小结
27.14 习题
第4部分 xti:x/open传输接口编程
第28章 xti:tcp客户程序
28.1 概述
28.2 t_open函数
28.3 t_error和t_strerror函数
28.4 netbuf结构和xti结构
28.5 t_bind函数
28.6 t_connect函数
28.7 t_rcv和t_snd函数
28.8 t_1ook函数
28.9 t_sndrel和t_rcvrel函数
28.10 t_snddis和t_rcvdis函数
28.11 xti tcp时间/日期客户程序
28.12 xti_rdwr函数
28.13 小结
28.14 习题
第29章 xti:名字与地址函数
29.1 概述
29.2 /etc/netconfig文件与netconfig函数
29.3 netpath环境变量与netpath函数
29.4 netdir函数
29.5 t_ahoc和t_free函数
29.6 t_getprotaddr函数
29.7 xti_ntop函数
29.8 tcp_connect函数
29.9 小结
29.10 习题
第30章 xti:tcp服务器程序
30.1 概述
30.2 t_1isten函数
30.3 tcp_listen函数
30.4 t_accept函数
30.5 xti_bccept函数
30.6 简单的时间/日期服务器程序
30.7 多个待处理连接
30.8 xti_accept函数(修订版)
30.9 小结
30.10 习题
第31章 xti:udf客户和服务器程序
31.1 概述
31.2 t_rcvujata和t_sndudata函数
31.3 udp_c1ient函数
31.4 t—rcvuder函数:异步错误
31.5 udp—server函数
31.6 分片读取数据报
31.7 小结
第32章 xti选项
32.1 概述
32.2 t_opthdr结构
32.3 xti选项
32.4 t_optmgmt函数
32.5 检查选项是否受支持并获取缺省值
32,6 获取和设置xti选项
32,7 小结
第33章 流
33.1 概述
33.2 概貌
33.3 getmsg和putmsg函数
33.4 getpmsg和putpmsg函数
33.5 ioctl函数
33.6 tpi:传翰提供者接口
33.7 小结
33.8 习题
第34章xn:其他函数
34.1 概述
34.2 非阻塞i/o
34.3 t_rcvconnect函数
34.4 t_getinfo函数
34.5 t_getstate函数
34.6 t_sync函数
34.7 t_unbind函数
34.8 t_rcvv和t_rcvvudata函数
34.9 t_sndv和t_sndvudata函数
34.10 t_rcvreldata和t_sndreldata函数
34.11 信号驱动i/o
34.12 带外数据
34.13 回馈传输提供者
34.14 小结
第5部分 附录
附录a ipv4、ipv6、icmpv4和icmpv6
a.1 概述
a.2 ipv4头部
a.3 ipv6头部
a.4 ipv4地址
a.5 ipv6地址
a.6 icmpv4和icmpv6:网际控制消息协议
附录b 虚拟网络
b.1 概述
b.2 mbone
b.3 6bone
附录c 调试技术
c.1 系统调用跟踪
c.2 标准因特网服务
c.3 sock程序
c.4 小测试程序
c.5 tcpdump程序
c.6 netstat程序
c.7 1sof程序
附录d 杂凑的源代码
d.1 unp.h头文件
d.2 config.h头文件
d.3 unpxti.h头文件
d.4 标准错误处理函数
附录e 部分习题解答
附录f 参考文献
附录g 函数和宏定义索引表
附录h 结构定义索引表
附录i 中英文对照词汇表

作者简介

本书全面深入地讲述了套接口API网络编程的既成事实标准,对X/open传输接口API也作了广泛的介绍。本书从对套接口API的综合讨论开始,论述了基本编程内容后,即转入高级套接口编程的相关主题,包括IPv4与IPv6的互操作性;UNIX域协议、非阻塞I/O、路由套接口、广播、多播、线程、原始套接口、数据链路访向等,对于客户一服务程序的各种设计方法也作了完整的探讨。在叙述X/Open传输接口API时,还对记这种设备驱动机制作了深入分析。在附录中又给出了IPv6、ICMPV6、虚拟网络等新内容。
本书内容详尽且具权威性,几乎每章都提供精选的习题,是计算机和网络专业高年级本科生和研究生的首选教材。本书也可作为网络研究和开发人员的自学教材和参考书。

图书封面


 UNIX网络编程(第1卷)下载 更多精彩书评



发布书评

 
 


精彩书评 (总计3条)

  •     UNP第二版第一卷的清华译本p39出现一个错误。书中原文:图2.10中,对于端口21存在三个套接口。如果一个分节来自198.69.10.2 端口 1501, 目的地为206.62.226.35端口21,那它是递送给第一个子进程。 不难发现这里 端口 1501应该是 1500。去查了第三版英文原版,那里就是1500。(我没有第二版英文原版,无法查证。哪位朋友感兴趣可以帮忙看看)。不知道是清华译本错了(--!)还是原版就有错。直觉是前者。。。
  •     起初觉得翻译很烂,细读英文觉得翻译的很好。作者在一些地方的翻译中加了自己的理解,是意思更加容易理解,相反,原版中一些地方的确是很难让人理解,毕竟作者跟读者不是一个层次的,很难保证每一处都是以读者的角度去写
  •     第一章里的:原文:Before delving into the design details of a protocol, high-level decisions must be made about which program is expected to initiate communication and when responses are expected. 本书翻译:在深入设计一个协议的细节之前,应该决断通信有哪个程序发起以及相应在核实期待. 大家可以把原文用金山快译翻译一下看看结果,一字不差

精彩短评 (总计10条)

  •     服务端编程的经典之作,这本书加上APUE(Unix环境高级编程)就可以算是对服务器开发入门了。 进阶的书籍要读三卷本的《TCP/IP详解》,有很多人认为学习网络编程应该先读这套书。其实,大可不必。学会了如何写简单的网络程序之后,再读《详解》会豁然开朗。 总之这类书籍都是帮助你编程的,所以,要多多的实践。
  •     读大师的作品就是一种享受,带我走进网络编程的大门。发现书中有几处代码错误,不知道是不是中文版印刷的问题。
  •     偶想买的时候已经绝版了,手中这本是七猫送偶的。感激呀,现在这位酒友远在广州,睹物私人...
  •     看了后有茅塞顿开的感觉!评论为什么还要求满15字呢?
  •     经典力作,无需多言,不知第3版如何。
  •     内容有点老了,后半部分基本可以忽略。
  •     还是圣经!
  •     W. Richard Stevens的网络经典,第二卷继续...........
  •     讲解非常详细 需要多次阅读体会 结合实际经验再回头看
  •     姑蘇
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024