文件大小:117.20 MB
文件类型:pdf
发布时间:2023-01-09 21:33:27
需资源分:2
下载次数:3
Tag:UNIX 网络编程
::资源简介::
UNIX网络编程
前言
目录
第一部分 简介和TCP/IP
第01章 简介
1_1 概述
1_2 一个简单的时间获取客户程序
1_3 协议无关性
1_4 错误处理_包裹函数
1_5 一个简单的时间获取服务器程序
1_6 本书中客户/服务器程序示例索引表
1_7 osi模型
1_8 bsd网络支持历史
1_9 测试用网络及主机
1_10 unix标准
1_11 64位体系结构
1_12 小结
习题
第02章 传输层TCP_UDP和SCTP
2_1 概述
2_2 总图
2_3 用户数据报协议[udp]
2_4 传输控制协议[tcp]
2_5 流控制传输协议[sctp]
2_6 tcp连接的建立和终止
2_7 time_wait状态
2_8 sctp关联的建立和终止
2_9 端口号
2_10 tcp端口号与并发服务器
2_11 缓冲区大小及限制
2_12 标准因特网服务
2_13 常见因特网应用的协议使用
2_14 小结
习题
第二部分 基本套接字编程
第03章 套接字编程简介
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 小结
习题
第04章 基本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 小结
习题
第05章 TCP客户/服务器程序示例
5_1 概述
5_2 tcp回射服务器程序main函数
5_3 tcp回射服务器程序str_echo函数
5_4 tcp回射客户程序main函数
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 sigpipe信号
5_14 服务器主机崩溃
5_15 服务器主机崩溃后重启
5_16 服务器主机关机
5_17 tcp程序例子小结
5_18 数据格式
5_19 小结
习题
第06章 I/O复用select和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 poll函数
6_11 tcp回射服务器程序[再修订版]
6_12 小结
习题
第07章 套接字选项
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 sctp套接字选项
7_11 fcntl函数
7_12 小结
习题
第08章 基本UDP套接字编程
8_1 概述
8_2 recvfrom和sendto函数
8_3 udp回射服务器程序main函数
8_4 udp回射服务器程序dg_echo函数
8_5 udp回射客户程序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 小结
习题
第09章 基本SCTP套接字编程
9_1 概述
9_2 接口模型
9_3 sctp_bindx函数
9_4 sctp_connectx函数
9_5 sctp_getpaddrs函数
9_6 sctp_freepaddrs函数
9_7 sctp_getladdrs函数
9_8 sctp_freeladdrs函数
9_9 sctp_sendmsg函数
9_10 sctp_recvmsg函数
9_11 sctp_opt_info函数
9_12 sctp_peeloff函数
9_13 shutdown函数
9_14 通知
9_15 小结
习题
第10章 SCTP 客户/服务器程序例子
10_1 概述
10_2 sctp一到多式流分回射服务器程序main函数
10_3 sctp一到多式流分回射客户程序main函数
10_4 sctp流分回射客户程序sctpstr_cli函数
10_5 探究头端阻塞
10_6 控制流的数目
10_7 控制终结
10_8 小结
习题
第11章 名字与地址转换
11_1 概述
11_2 域名系统
11_3 gethostbyname函数
11_4 gethostbyaddr函数
11_5 getservbyname和getservbyport函数
11_6 getaddrinfo函数
11_7 gai_strerror函数
11_8 freeaddrinfo函数
11_9 getaddrinfo函数_ipv6
11_10 getaddrinfo函数_例子
11_11 host_serv函数
11_12 tcp_connect函数
11_13 tcp_listen函数
11_14 udp_client函数
11_15 udp_connect函数
11_16 udp_server函数
11_17 getnameinfo函数
11_18 可重入函数
11_19 gethostbyname_r和gethostbyaddr_r函数
11_20 作废的ipv6地址解析函数
11_21 其他网络相关信息
11_22 小结
习题
第三部分 高级套接字编程
第12章 IPv4与IPv6的互操作性
12_1 概述
12_2 ipv4客户与ipv6服务器
12_3 ipv6客户与ipv4服务器
12_4 ipv6地址测试宏
12_5 源代码可移植性
12_6 小结
习题
第13章 守护进程和inetd超级服务器
13_1 概述
13_2 syslogd守护进程
13_3 syslog函数
13_4 daemon_init函数
13_5 inetd守护进程
13_6 daemon_inetd函数
13_7 小结
习题
第14章 高级I/O函数
14_1 概述
14_2 套接字超时
14_3 recv和send函数
14_4 readv和writev函数
14_5 recvmsg和sendmsg函数
14_6 辅助数据
14_7 排队的数据量
14_8 套接字和标准i/o
14_9 高级轮询技术
14_10 t/tcp_事务目的tcp
14_11 小结
习题
第15章 Unix域协议
15_1 概述
15_2 unix域套接字地址结构
15_3 socketpair函数
15_4 套接字函数
15_5 unix域字节流客户/服务器程序
15_6 unix域数据报客户/服务器程序
15_7 描述符传递
15_8 接收发送者的凭证
15_9 小结
习题
第16章 非阻塞式I/O
16_1 概述
16_2 非阻塞读和写_str_cli函数[修订版]
16_3 非阻塞connect
16_4 非阻塞connect时间获取客户程序
16_5 非阻塞connect_web客户程序
16_6 非阻塞accept
16_7 小结
习题
第17章 ioctl 操作
17_1 概述
17_2 ioctl函数
17_3 套接字操作
17_4 文件操作
17_5 接口配置
17_6 get_ifi_info函数
17_7 接口操作
17_8 arp高速缓存操作
17_9 路由表操作
17_10 小结
习题
第18章 路由套接字
18_1 概述
18_2 数据链路套接字地址结构
18_3 读和写
18_4 sysctl操作
18_5 get_ifi_info函数
18_6 接口名字和索引函数
18_7 小结
习题
第19章 密钥管理套接字
19_1 概述
19_2 读和写
19_3 倾泻安全关联数据库
19_4 创建静态安全关联
19_5 动态维护安全关联
19_6 小结
习题
第20章 广播
20_1 概述
20_2 广播地址
20_3 单播和广播的比较
20_4 使用广播的dg_cli函数
20_5 竞争状态
20_6 小结
习题
第21章 多播
21_1 概述
21_2 多播地址
21_3 局域网上多播和广播的比较
21_4 广域网上的多播
21_5 源特定多播
21_6 多播套接字选项
21_7 mcast_join和相关函数
21_8 使用多播的dg_cli函数
21_9 接收ip多播基础设施会话声明
21_10 发送和接收
21_11 sntp_简单网络时间协议
21_12 小结
习题
第22章 高级 UDP套接字编程
22_1 概述
22_2 接收标志_目的ip地址和接口索引
22_3 数据报截断
22_4 何时用udp代替tcp
22_5 给udp应用增加可靠性
22_6 捆绑接口地址
22_7 并发udp服务器
22_8 ipv6分组信息
22_9 ipv6路径mtu控制
22_10 小结
习题
第23章 高级SCTP套接字编程
23_1 概述
23_2 自动关闭的一到多式服务器程序
23_3 部分递送
23_4 通知
23_5 无序的数据
23_6 捆绑地址子集
23_7 确定对端和本端地址信息
23_8 给定ip地址找出关联id
23_9 心搏和地址不可达
23_10 关联剥离
23_11 定时控制
23_12 何时改用sctp代替tcp
23_13 小结
习题
第24章 带外数据
24_1 概述
24_2 tcp带外数据
24_3 sockatmark函数
24_4 tcp带外数据小结
24_5 客户/服务器心搏函数
24_6 小结
习题
第25章 信号驱动式I/O
25_1 概述
25_2 套接字的信号驱动式i/o
25_3 使用sigio的udp回射服务器程序
25_4 小结
习题
第26章 线程
26_1 概述
26_2 基本线程函数_创建和终止
26_3 使用线程的str_cli函数
26_4 使用线程的tcp回射服务器程序
26_5 线程特定数据
26_6 web客户与同时连接
26_7 互斥锁
26_8 条件变量
26_9 web客户与同时连接[续]
26_10 小结
习题
第27章 IP 选项
27_1 概述
27_2 ipv4选项
27_3 ipv4源路径选项
27_4 ipv6扩展首部
27_5 ipv6步跳选项和目的地选项
27_6 ipv6路由首部
27_7 ipv6粘附选项
27_8 历史性ipv6高级api
27_9 小结
习题
第28章 原始套接字
28_1 概述
28_2 原始套接字创建
28_3 原始套接字输出
28_4 原始套接字输入
28_5 ping程序
28_6 traceroute程序
28_7 一个icmp消息守护程序
28_8 小结
习题
第29章 数据链路访问
29_1 概述
29_2 bpf_bsd分组过滤器
29_3 dlpi_数据链路提供者接口
29_4 linux_sock_packet和pf_packet
29_5 libpcap_分组捕获函数库
29_6 libnet_分组构造与输出函数库
29_7 检查udp的校验和字段
29_8 小结
习题
第30章 客户/服务器程序设计范式
30_1 概述
30_2 tcp客户程序设计范式
30_3 tcp测试用客户程序
30_4 tcp迭代服务器程序
30_5 tcp并发服务器程序每个客户一个子进程
30_6 tcp预先派生子进程服务器程序accept无上锁保护
30_7 tcp预先派生子进程服务器程序accept使用文件上锁保护
30_8 tcp预先派生子进程服务器程序accept使用线程上锁保护
30_9 tcp预先派生子进程服务器程序传递描述符
30_10 tcp并发服务器程序每个客户一个线程
30_11 tcp预先创建线程服务器程序每个线程各自accept
30_12 tcp预先创建线程服务器程序主线程统一accept
30_13 小结
习题
第31章 流
31_1 概述
31_2 概貌
31_3 getmsg和putmsg函数
31_4 getpmsg和putpmsg函数
31_5 ioctl函数
31_6 tpi_传输提供者接口
31_7 小结
习题
附录A IPv4_IPv6_ICMPv4和ICMPv6
附录B 虚拟网络
附录C 调试技术
附录D 杂凑的源代码
附录E 精选习题答案
参考文献
索引
::下载地址::
>> 评论