当前位置:主页 > 书籍配套资源 > UNIX配套资源
《UNIX网络编程 卷1:套接字联网API(第3版)》源代码

《UNIX网络编程 卷1:套接字联网API(第3版)》源代码

  • 更新:2021-12-17
  • 大小:617.81 KB
  • 类别:UNIX
  • 作者:[美]W.、Richard、Steven
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

编辑推荐

这是一部传世之作!**网络编程专家Bill Fenner和Andrew M. Rudoff应邀执笔,对W. Richard Stevens的经典作品进行修订。书中吸纳了近几年网络技术的发展,增添了IPv6、SCTP协议和密钥管理套接字等内容,深入讨论了**的关键标准、实现和技术。

书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,继承了Stevens一直强调的理念:“学习网络编程的*好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”读者可以从本书网站下载这些示例的源代码。

本书为UNIX网络编程提供全面的指导,是网络研究和开发人员公认的权威参考书,无论网络编程的初学者还是网络专家都会大受裨益。

内容简介 

本书是一部UNIX网络编程的经典之作!书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还深入分析了流这种设备驱动机制。

本书内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。

目录

  • 第一部分 简介和TCP/IP
  • 第1章 简介
  • 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 小结
  • 习题
  • 第2章 传输层: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 小结
  • 习题
  • 第二部分 基本套接字编程
  • 第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 小结
  • 习题
  • 第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 小结
  • 习题
  • 第5章 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 小结
  • 习题
  • 第6章 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 小结
  • 习题
  • 第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 SCTP套接字选项
  • 7.11 fcntl函数
  • 7.12 小结
  • 习题
  • 第8章 基本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 小结
  • 习题
  • 第9章 基本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 自动关闭的一到多式服务器程序
  •  ……
  • 第31章 流
  • 附录
  • 参考文献
  • 索引

资源下载

资源下载地址1:https://box.lenovo.com/l/W0TSrW

网友留言