思维导图备注

UNIX网络编程 卷1:套接字联网API(第3版) - [美] W. Richard Stevens Bill Fenner Andrew M. Rudoff
首页 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

8.13 UDP缺乏流量控制

浏览 6 扫码
  • 小字体
  • 中字体
  • 大字体
2022-02-24 02:56:20
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 版权信息
  • 内容提要
  • 版权声明
  • 序
  • 前言
  • 第一部分 简介和TCP/IP
  • 第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.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.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.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.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.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.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.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章 基本S0.23CTP套接字编程
    • 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.2 SCTP一到多式流分回射服务器程序:main函数
    • 10.3 SCTP一到多式流分回射客户程序:main函数
    • 10.4 SCTP流分回射客户程序:sctpstr_cli函数
    • 10.5 探究头端阻塞
    • 10.6 控制流的数目
    • 10.7 控制终结
    • 10.8 小结
    • 习题
  • 第11章 名字与地址转换
    • 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.2 IPv4客户与IPv6服务器
    • 12.3 IPv6客户与IPv4服务器
    • 12.4 IPv6地址测试宏
    • 12.5 源代码可移植性
    • 12.6 小结
    • 习题
  • 第13章 守护进程和inetd超级服务器
    • 13.2 syslogd守护进程
    • 13.3 syslog函数
    • 13.4 daemon_init函数
    • 13.5 inetd守护进程
    • 13.6 daemon_inetd函数
    • 13.7 小结
    • 习题
  • 第14章 高级I/O函数
    • 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.2 Unix域套接字地址结构
    • 15.3 socketpair函数
    • 15.4 套接字函数
    • 15.5 Unix域字节流客户/服务器程序
    • 15.6 Unix域数据报客户/服务器程序
    • 15.7 描述符传递
    • 15.8 接收发送者的凭证
    • 15.9 小结
    • 习题
  • 第16章 非阻塞式I/O
    • 16.2 非阻塞读和写:str_cli函数(修订版)
    • 16.3 非阻塞connect
    • 16.4 非阻塞connect:时间获取客户程序
    • 16.5 非阻塞connect:Web客户程序
    • 16.6 非阻塞accept
    • 16.7 小结
    • 习题
  • 第17章 ioctl操作
    • 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.2 数据链路套接字地址结构
    • 18.3 读和写
    • 18.4 sysctl操作
    • 18.5 get_ifi_info函数
    • 18.6 接口名字和索引函数
    • 18.7 小结
    • 习题
  • 第19章 密钥管理套接字
    • 19.2 读和写
    • 19.3 倾泻安全关联数据库
    • 19.4 创建静态安全关联
    • 19.5 动态维护安全关联
    • 19.6 小结
    • 习题
  • 第20章 广播
    • 20.2 广播地址
    • 20.3 单播和广播的比较
    • 20.4 使用广播的dg_cli函数
    • 20.5 竞争状态
    • 20.6 小结
    • 习题
  • 第21章 多播
    • 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.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.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.2 TCP带外数据
    • 24.3 sockatmark函数
    • 24.4 TCP带外数据小结
    • 24.5 客户/服务器心搏函数①
    • 24.6 小结
    • 习题
  • 第25章 信号驱动式I/O
    • 25.2 套接字的信号驱动式I/O
    • 25.3 使用SIGIO的UDP回射服务器程序
    • 25.4 小结
    • 习题
  • 第26章 线程
    • 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.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.2 原始套接字创建
    • 28.3 原始套接字输出
    • 28.4 原始套接字输入
    • 28.5 ping程序
    • 28.6 traceroute程序
    • 28.7 一个ICMP消息守护程序
    • 28.8 小结
    • 习题
  • 第29章 数据链路访问
    • 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.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.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 精选习题答案
  • 参考文献
  • 欢迎来到异步社区!
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《UNIX网络编程 卷1:套接字联网API(第3版) - [美] W. Richard Stevens Bill Fenner Andrew M. Rudoff》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度