国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)

国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Comer D.E.) ,
2008-10
版次: 1
ISBN: 9787121073861
定价: 55.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 431页
字数: 718千字
正文语种: 简体中文
99人买过
  •   《用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)》是关于计算机网络的经典教材,是目前美国大多数大学所开设的计算机网络课程的主要参考书。目前国内外能见到的各种关于TCP/IP的书籍,其主要内容都参考了《用TCP/IP进行网际互连:客户:服务器编程与应用(Linux/POSIX套接字版)(第3卷)》。该书的特点是强调原理,概念准确,深入浅出,内容丰富新颖。全书共分为三卷。第三卷主要讨论应用软件如何使用TCP/IP,重点研究了客户-服务器范例,并考察了分布式程序中的客户和服务器,举例说明了各种设计,讨论了应用网关和遂道技术。   Douglas E.Comer:普度大学的一位杰出的计算机科学教授,思科系统公司的访问教授成员,并且是计算机网络和TCP/IP以及因特网方面的国际公认的专家。他的著作已翻译成16种语言,并广泛用于世界各地的工业界和学术界。作为他的得意之作,这套共分三卷的《用TcP/IP进行网际 第1章引言和概述
    1.1使用TCP/IP的因特网应用
    1.2为分布式环境设计应用程序
    1.3标准和非标准的应用协议
    1.4使用标准应用协议的例子
    1.5telnet连接的例子
    1.6使用TELNET访问其他服务
    1.7应用协议和软件的灵活性
    1.8从提供者的角度看服务
    1.9本教材的其余部分
    1.10小结
    深入研究
    习题

    第2章客户-服务器模型与软件设计
    2.1引言
    2.2动机
    2.3术语和概念
    2.4小结
    深入研究
    习题

    第3章客户-服务器软件中的并发处理
    3.1引言
    3.2网络中的并发
    3.3服务器中的并发
    3.4术语和概念
    3.5一个创建并发进程的例子
    3.6执行新的代码
    3.7上下文切换和协议软件设计
    3.8并发和异步I/O
    3.9小结
    深入研究
    习题

    第4章协议的程序接口
    4.1引言
    4.2不精确指明的协议软件接口
    4.3接口功能
    4.4概念性接口的规约
    4.5系统调用
    4.6网络通信的两种基本方法
    4.7LINIX中提供的基本I/O功能
    4.8将LinuxI/O用于TCP/IP
    4.9小结
    深入研究
    习题

    第5章套接字API
    5.1引言
    5.2Berkeley套接字
    5.3指明一个协议接口
    5.4套接字的抽象
    5.5指明端点地址
    5.6类属地址结构
    5.7套接字API中的主要系统调用
    5.8用于整数转换的实用例程
    5.9在程序中使用套接字调用
    5.10套接字调用的参数所使用的符号常量
    5.11小结
    深入研究
    习题

    第6章客户软件设计中的算法和问题
    6.1引言
    6.2不是研究细节而是学习算法
    6.3客户体系结构
    6.4标识服务器的位置
    6.5分析地址参数
    6.6查找域名
    6.7由名字查找某个熟知端口
    6.8端口号和网络字节顺序
    6.9由名字查找协议
    6.10TCP客户算法
    6.11分配套接字
    6.12选择本地协议端口号
    6.13选择本地IP地址中的一个基本问题
    6.14将TCP套接字连接到某个服务器
    6.15使用TCP与服务器通信
    6.16从TCP连接中读取响应
    6.17关闭TCP连接
    6.18UDP客户的编程
    6.19连接的和非连接的UDP套接字
    6.20对UDP使用connect
    6.21使用UDP与服务器通信
    6.22关闭使用UDP的套接字
    6.23对UDP的部分关闭
    6.24关于UDP不可靠性的警告
    6.25小结
    深入研究
    习题

    第7章客户软件举例
    7.1引言
    7.2小例子的重要性
    7.3隐藏细节
    7.4针对客户程序的过程库例子
    7.5connectTCP的实现
    7.6connectUDP的实现
    7.7构成连接的过程
    7.8使用例子库
    7.9DAYTIME服务
    7.10针对DAYTIME的TCP客户实现
    7.11从TCP连接中进行读
    7.12TIME服务
    7.13访问TIME服务
    7.14精确时间和网络时延
    7.15针对TIME服务的UDP客户
    7.16ECHO服务
    7.17针对ECHO服务的TCP客户
    7.18针对ECHO服务的UDP客户
    7.19小结
    深入研究
    习题

    第8章服务器软件设计的算法和问题
    8.1引言
    8.2概念性的服务器算法
    8.3并发服务器和循环服务器
    8.4面向连接的和无连接的访问
    8.5传输协议的语义
    8.6选择传输协议
    8.7面向连接的服务器
    8.8无连接的服务器
    8.9故障.可靠性和无状态
    8.10优化无状态服务器
    8.11四种基本类型的服务器
    8.12请求处理时间
    8.13循环服务器的算法
    8.14一种循环的面向连接的服务器的算法
    8.15用INADDR_ANY绑定熟知端口
    8.16将套接字置于被动模式
    8.17接受连接并使用这些连接
    8.18循环的无连接的服务器的算法
    8.19在五连接的服务器中构造应答
    8.20并发服务器的算法
    8.21主线程和从线程
    8.22并发的无连接的服务器的算法
    8.23并发的面向连接服务器的算法
    8.24服务器并发性的实现
    8.25把单独的程序作为从进程来使用
    8.26使用单线程获得表面上的并发性
    8.27各服务器类型所适用的场合
    8.28服务器类型小结
    8.29重要问题——服务器死锁
    8.30其他的实现方法
    8.31小结
    深入研究
    习题

    第9章循环的无连接服务器(UDP)
    9.1引言
    9.2创建被动套接字
    9.3进程结构
    9.4TIME服务器举例
    9.5小结
    深入研究
    习题

    第10章循环的面向连接的服务器(TCP)
    10.1引言
    10.2分配被动的TCP套接字
    10.3用于DAYTIME服务的服务器
    10.4进程结构
    10.5DAYTIME服务器举例
    10.6关闭连接
    10.7连接终止和服务器的脆弱性
    10.8小结
    深入研究
    习题

    第11章并发的面向连接的服务器(TCP)
    11.1引言
    11.2并发ECHO
    11.3循环与并发实现的比较
    11.4进程结构
    11.5并发ECHO服务器举例
    11.6清除游离(errant)进程
    11.7小结
    深入研究
    习题

    第12章将线程用于并发(TCP)
    12.1引言
    12.2Linux线程概述
    12.3线程的优点
    12.4线程的缺点
    12.5描述符.延迟和退出
    12.6线程退出
    12.7线程协调和同步
    12.8使用线程的服务器实例
    12.9监控
    12.10小结
    深入研究
    习题

    第13章单线程并发服务器(TCP)
    13.1引言
    13.2服务器中的数据驱动处理
    13.3用单线程进行数据驱动处理
    13.4单线程服务器的线程结构
    13.5单线程ECHO服务器举例
    13.6小结
    深入研究
    习题

    第14章多协议服务器(TCP,UDP)
    14.1引言
    14.2减少服务器数量的动机
    14.3多协议服务器的设计
    14.4进程结构
    14.5多协议DAYTIME服务器的例子
    14.6共享代码的概念
    14.7并发多协议服务器
    14.8小结
    深入研究
    习题

    第15章多服务服务器(TCP,UDP)
    15.1引言
    15.2合并服务器
    15.3无连接的,多服务服务器的设计
    15.4面向连接的,多服务服务器的设计
    15.5并发的,面向连接的,多服务服务器
    15.6单线程的,多服务服务器的实现
    15.7从多服务服务器调用单独的程序
    15.8多服务,多协议设计
    15.9多服务服务器的例子
    15.10静态的和动态的服务器配置
    15.11UNIX超级服务器,inetd
    15.12inetd服务器的例子
    15.13服务器的几种变形清单
    15.14小结
    深入研究
    习题

    第16章服务器并发性的统一高效管理
    16.1引言
    16.2在循环设计和并发设计间选择
    16.3并发等级
    16.4需求驱动的并发
    16.5并发的代价
    16.6额外开销和时延
    16.7小时延可能出麻烦
    16.8从线程/进程预分配
    16.9延迟的从线程/进程分配
    16.10两种技术统一的基础
    16.11技术的结合
    16.12小结
    深入研究
    习题

    第17章客户进程中的并发
    17.1引言
    17.2并发的优点
    17.3用控制的动机
    17.4与多个服务器的并发联系
    17.5实现并发客户
    17.6单线程实现
    17.7使用ECHO的并发客户例子
    17.8并发客户的执行
    17.9例子代码中的并发性
    17.10小结
    习题

    第18章运输层和应用层的隧道技术
    18.1引言
    18.2多协议环境
    18.3混合网络技术
    18.4动态电路分配
    18.5封装和隧道技术
    18.6通过IP互联网的隧道技术
    18.7客户和服务器之间的应用级隧道技术
    18.8隧道技术.封装和电话拨号线
    18.9小结
    深入研究
    习题

    第19章应用级网关
    19.1引言
    19.2在受约束的环境中的客户和服务器
    19.3使用应用网关
    19.4通过邮件网关互操作
    19.5邮件网关的实现
    19.6应用网关与隧道技术的比较
    19.7应用网关和有限因特网连接
    19.8为解决安全问题而使用的应用网关
    19.9应用网关和额外跳问题..
    19.10应用网关举例
    19.11一个应用网关的实现
    19.12应用网关的代码
    19.13网关交换的例子
    19.14使用fred和.forward或sloeal文件
    19.15通用的应用网关
    19.16SLIBP的运行
    19.17SLIRP如何处理连接
    19.18IP寻址和SLIRP
    19.19小结
    深入研究
    习题

    第20章外部数据表示(XDR)
    20.1引言
    20.2数据表示
    20.3N平方转换问题
    20.4网络标准字节顺序
    20.5外部数据表示的事实上的标准
    20.6XDR数据类型
    20.7隐含类型
    20.8使用XDR的软件支持
    20.9XDR库例程
    20.10一次一片地构造报文
    20.11XDB库中的转换例程
    20.12XDR流.I/O和TCP
    20.13记录、记录边界和数据报I/O
    20.14小结
    深入研究
    习题

    第21章远程过程调用(RPC)的概念
    21.1引言
    21.2远程过程调用模型
    21.3构建分布式程序的两种模式
    21.4常规过程调用的概念性模型
    21.5过程模型的扩充
    21.6常规过程调用的执行和返回
    21.7分布式系统中的过程模型
    21.8客户-服务器和RPC之间的类比
    21.9作为程序的分布式计算
    21.10SunMicrosystems的远程过程调用定义
    21.11远程程序和过程
    21.12减少参数的数量
    21.13标识远程程序和过程
    21.14适应远程程序的多个版本
    21.15远程程序中的互斥
    21.16通信语义
    21.17至少一次语义
    21.18RPC重传
    21.19将远程程序映射到协议端口
    21.20动态端口映射
    21.21RPC端口映射器算法
    21.22ONCRPC的报文格式
    21.23对远程过程进行参数排序
    21.24鉴别
    21.25RPC报文表示的例子
    21.26UNIX鉴别字段的例子
    21.27小结
    深入研究
    习题

    第22章分布式程序的生成(rpcgen的概念)
    22.1引言
    22.2使用远程过程调用
    22.3支持RPC的编程工具
    22.4将程序划分成本地过程和远程过程
    22.5为RPC增加代码
    22.6stub过程
    22.7多个远程过程和分派
    22.8客户端的stub过程的名字
    22.9使用rpcgen生成分布式程序
    22.10rpcgen输出和接口过程
    22.11rpcgen的输入和输出
    22.12使用rpcgen构建客户和服务器
    22.13小结
    深入研究
    习题

    第23章分布式程序的生成(rpcgen的例子)
    23.1引言
    23.2说明rpcgen的例子
    23.3查找字典
    23.4分布式程序的八个步骤
    23.5步骤1:构建常规应用程序
    23.6步骤2:将程序划分成两部分
    23.7步骤3:创建rpcgen规约
    23.8步骤4:运行rpcgen
    23.9rpcgen产生的,h文件
    23.10rpcgen产生的XDR转换文件
    23.11rpcgen产生的客户代码
    23.12rpcgen产生的服务器代码
    23.13步骤5:编写stub接口过程
    23.14步骤6:编译和链接客户程序
    23.15步骤7:编译和链接服务器程序
    23.16步骤8:启动服务器和执行客户
    23.17使用make实用程序
    23.18小结
    深入研究
    习题

    第24章网络文件系统(NFS)的概念
    24.1引言
    24.2远程文件存取和传送
    24.3对远程文件的操作
    24.4异构计算机之间的文件存取
    24.5无状态服务器
    24.6NFS和UNIX的文件语义
    24.7UNIX文件系统的回顾
    24.8NFS下的文件
    24.9NFS的文件类型
    24.10NFS文件模式
    24.11NFS文件属性
    24.12NFS客户和服务器
    24.13NFS客户操作
    24.14NFS客户与UNIX系统
    24.15NFS安装
    24.16文件句柄
    24.17句柄取代路径名
    24.18无状态服务器的文件定位
    24.19对目录的操作
    24.20无状态地读目录
    24.21NFS服务器中的多个分层结构
    24.22安装(mount)协议
    24.23NFS的传输协议
    24.24小结
    深入研究
    习题

    第25章网络文件系统协议(NFS,Mount)
    25.1引言
    25.2用BPC定义协议
    25.3用数据结构和过程定义协议
    25.4NFS常数.类型和数据声明
    25.5NFS过程
    25.6NFS操作的语义
    25.7安装协议
    25.8安装协议中的过程
    25.9安装操作的语义
    25.10NFS和安装鉴别
    25.11文件加锁
    25.12NFS第3版与第4版之间的变化
    25.13小结
    深入研究
    习题

    第26章TELNET客户(程序结构)
    26.1引言
    26.2概述
    26.3TELNET客户算法
    26.4Linux中的终端I/O
    26.5建立终端模式
    26.6用于保存状态的全局变量
    26.7在退出之前恢复终端模式
    26.8客户挂起与恢复
    26.9有限状态机的规约
    26.10在TELNET数据流中嵌入命令
    26.11选项协商
    26.12请求/提供的对称性
    26.13TELNET字符定义
    26.14针对来自服务器数据的有限状态机
    26.15在各种状态之间转移
    26.16有限状态机的实现
    26.17压缩的有限状态机表示
    26.18在运行时维持压缩表示
    26.19压缩表示的实现
    26.20构造有限状态机转移矩阵
    26.21套接字输出有限状态机
    26.22套接字输出有限状态机的相关定义
    26.23选项子协商有限状态机
    26.24选项子协商有限状态机的相关定义
    26.25有限状态机初始化
    26.26TELNET客户的参数
    26.27TELNET客户的核心
    26.28主有限状态机的实现
    26.29小结
    深入研究
    习题

    第27章TELNET客户(实现细节)
    27.1引言
    27.2有限状态机动作过程
    27.3记录选项请求的类型
    27.4完成空操作
    27.5对回显选项的WILL/WONT做出响应
    27.6对未被支持的选项的WILL/WONT做出响应
    27.7对nogo-ahead选项的WILL/WONT做出响应
    27.8生成用于二进制传输的DO/DONT
    27.9对未被支持的选项的DO/DONT做出响应
    27.10对传输二进制选项的DO/DONT做出响应
    27.11对终端类型选项的DO/DONT做出响应
    27.12选项子协商
    27.13发送终端类型信息
    27.14终止子协商
    27.15向服务器发送字符
    27.16显示在用户终端上出现的传入数据
    27.17使用termeap控制用户终端
    27.18将数据块写到服务器
    27.19与客户进程交互
    27.20对非法命令做出响应
    27.21脚本描述文件
    27.22脚本描述的实现
    27.23初始化脚本描述
    27.24收集脚本文件名的字符
    27.25打开脚本文件
    27.26终止脚本描述
    27.27打印状态信息
    27.28小结
    深入研究
    习题

    第28章流式音频和视频传输(RTP概念和设计)
    28.1引言
    28.2流式传输服务
    28.3实时交付
    28.4抖动的协议补偿
    28.5重传.丢失和恢复
    28.6实时传输协议
    28.7流的转换和混合
    28.8迟延回放和抖动缓存
    28.9RTP控制协议(RTCP)
    28.10多种流同步
    28.11RTP传输和多对多传输
    28.12会话、流、协议端口和分用
    28.13编码的基本方法
    28.14RTP软件的概念性组织
    28.15进程/线程结构
    28.16API的语义
    28.17抖动缓存的设计和重新缓存
    28.18事件处理
    28.19回放异常及时间戳的复杂性
    28.20实时库例子的大小
    28.21MP3播放器的例子
    28.22小结
    深入研究
    习题

    第29章流式音频和视频传输(RTP实现示例)
    29.1引言
    29.2集成实现
    29.3程序结构
    29.4RTP定义
    29.5时间值的处理
    29.6RTP序列空间的处理
    29.7RTP分组队列的处理
    29.8RTP输入处理
    29.9为RTCP保存统计信息
    29.10RTP初始化
    29.11RTCP的定义
    29.12接收RTCP发送方的报告
    29.13产生BTCP接收方的报告
    29.14创建RTCP的首部
    29.15RTCP时延的计算
    29.16RTCPBye(再见)报文的产生
    29.17集成实现的大小
    29.18小结
    深入研究
    习题

    第30章Linux服务器中的实用技巧和技术
    30.1引言
    30.2后台操作
    30.3编写在后台运行的服务器
    30.4打开描述符和继承
    30.5对服务器编程以关闭所继承的描述符
    30.6来自控制TTY的信号
    30.7对服务器编程以改变它的控制TTY
    30.8转移到一个安全的和已知的目录
    30.9对服务器编程以改变目录
    30.10Linuxumask
    30.11对服务器编程以设置其umask
    30.12进程组,
    30.13对服务器编程以设置其进程组
    30.14标准I/O描述符
    30.15对服务器编程以打开标准描述符
    30.16服务器互斥
    30.17对服务器编程以避免多个副本
    30.18记录服务器的进程ID
    30.19对服务器编程以记录其进程ID
    30.20等待一个子进程退出
    30.21对服务器编程以等待每个子进程退出
    30.22外来信号
    30.23对服务器编程以忽略外来信号
    30.24使用系统日志设施
    30.25小结
    深入研究
    习题

    第31章客户-服务器系统中的死锁和资源缺乏
    31.1引言
    31.2死锁的定义
    31.3死锁检测的难度
    31.4避免死锁
    31.5客户和服务器间的死锁
    31.6在单个交互中避免死锁
    31.7一组客户和一个服务器之间的资源缺乏
    31.8忙连接和资源缺乏
    31.9避免阻塞的操作
    31.10进程、连接和其他限制
    31.11客户和服务器的循环
    31.12用文档确认依赖性
    31.13小结
    习题
    附录1系统调用与套接字使用的库例程
    附录2Linux文件和套接字描述符的操作
    参考文献
  • 内容简介:
      《用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)》是关于计算机网络的经典教材,是目前美国大多数大学所开设的计算机网络课程的主要参考书。目前国内外能见到的各种关于TCP/IP的书籍,其主要内容都参考了《用TCP/IP进行网际互连:客户:服务器编程与应用(Linux/POSIX套接字版)(第3卷)》。该书的特点是强调原理,概念准确,深入浅出,内容丰富新颖。全书共分为三卷。第三卷主要讨论应用软件如何使用TCP/IP,重点研究了客户-服务器范例,并考察了分布式程序中的客户和服务器,举例说明了各种设计,讨论了应用网关和遂道技术。
  • 作者简介:
      Douglas E.Comer:普度大学的一位杰出的计算机科学教授,思科系统公司的访问教授成员,并且是计算机网络和TCP/IP以及因特网方面的国际公认的专家。他的著作已翻译成16种语言,并广泛用于世界各地的工业界和学术界。作为他的得意之作,这套共分三卷的《用TcP/IP进行网际
  • 目录:
    第1章引言和概述
    1.1使用TCP/IP的因特网应用
    1.2为分布式环境设计应用程序
    1.3标准和非标准的应用协议
    1.4使用标准应用协议的例子
    1.5telnet连接的例子
    1.6使用TELNET访问其他服务
    1.7应用协议和软件的灵活性
    1.8从提供者的角度看服务
    1.9本教材的其余部分
    1.10小结
    深入研究
    习题

    第2章客户-服务器模型与软件设计
    2.1引言
    2.2动机
    2.3术语和概念
    2.4小结
    深入研究
    习题

    第3章客户-服务器软件中的并发处理
    3.1引言
    3.2网络中的并发
    3.3服务器中的并发
    3.4术语和概念
    3.5一个创建并发进程的例子
    3.6执行新的代码
    3.7上下文切换和协议软件设计
    3.8并发和异步I/O
    3.9小结
    深入研究
    习题

    第4章协议的程序接口
    4.1引言
    4.2不精确指明的协议软件接口
    4.3接口功能
    4.4概念性接口的规约
    4.5系统调用
    4.6网络通信的两种基本方法
    4.7LINIX中提供的基本I/O功能
    4.8将LinuxI/O用于TCP/IP
    4.9小结
    深入研究
    习题

    第5章套接字API
    5.1引言
    5.2Berkeley套接字
    5.3指明一个协议接口
    5.4套接字的抽象
    5.5指明端点地址
    5.6类属地址结构
    5.7套接字API中的主要系统调用
    5.8用于整数转换的实用例程
    5.9在程序中使用套接字调用
    5.10套接字调用的参数所使用的符号常量
    5.11小结
    深入研究
    习题

    第6章客户软件设计中的算法和问题
    6.1引言
    6.2不是研究细节而是学习算法
    6.3客户体系结构
    6.4标识服务器的位置
    6.5分析地址参数
    6.6查找域名
    6.7由名字查找某个熟知端口
    6.8端口号和网络字节顺序
    6.9由名字查找协议
    6.10TCP客户算法
    6.11分配套接字
    6.12选择本地协议端口号
    6.13选择本地IP地址中的一个基本问题
    6.14将TCP套接字连接到某个服务器
    6.15使用TCP与服务器通信
    6.16从TCP连接中读取响应
    6.17关闭TCP连接
    6.18UDP客户的编程
    6.19连接的和非连接的UDP套接字
    6.20对UDP使用connect
    6.21使用UDP与服务器通信
    6.22关闭使用UDP的套接字
    6.23对UDP的部分关闭
    6.24关于UDP不可靠性的警告
    6.25小结
    深入研究
    习题

    第7章客户软件举例
    7.1引言
    7.2小例子的重要性
    7.3隐藏细节
    7.4针对客户程序的过程库例子
    7.5connectTCP的实现
    7.6connectUDP的实现
    7.7构成连接的过程
    7.8使用例子库
    7.9DAYTIME服务
    7.10针对DAYTIME的TCP客户实现
    7.11从TCP连接中进行读
    7.12TIME服务
    7.13访问TIME服务
    7.14精确时间和网络时延
    7.15针对TIME服务的UDP客户
    7.16ECHO服务
    7.17针对ECHO服务的TCP客户
    7.18针对ECHO服务的UDP客户
    7.19小结
    深入研究
    习题

    第8章服务器软件设计的算法和问题
    8.1引言
    8.2概念性的服务器算法
    8.3并发服务器和循环服务器
    8.4面向连接的和无连接的访问
    8.5传输协议的语义
    8.6选择传输协议
    8.7面向连接的服务器
    8.8无连接的服务器
    8.9故障.可靠性和无状态
    8.10优化无状态服务器
    8.11四种基本类型的服务器
    8.12请求处理时间
    8.13循环服务器的算法
    8.14一种循环的面向连接的服务器的算法
    8.15用INADDR_ANY绑定熟知端口
    8.16将套接字置于被动模式
    8.17接受连接并使用这些连接
    8.18循环的无连接的服务器的算法
    8.19在五连接的服务器中构造应答
    8.20并发服务器的算法
    8.21主线程和从线程
    8.22并发的无连接的服务器的算法
    8.23并发的面向连接服务器的算法
    8.24服务器并发性的实现
    8.25把单独的程序作为从进程来使用
    8.26使用单线程获得表面上的并发性
    8.27各服务器类型所适用的场合
    8.28服务器类型小结
    8.29重要问题——服务器死锁
    8.30其他的实现方法
    8.31小结
    深入研究
    习题

    第9章循环的无连接服务器(UDP)
    9.1引言
    9.2创建被动套接字
    9.3进程结构
    9.4TIME服务器举例
    9.5小结
    深入研究
    习题

    第10章循环的面向连接的服务器(TCP)
    10.1引言
    10.2分配被动的TCP套接字
    10.3用于DAYTIME服务的服务器
    10.4进程结构
    10.5DAYTIME服务器举例
    10.6关闭连接
    10.7连接终止和服务器的脆弱性
    10.8小结
    深入研究
    习题

    第11章并发的面向连接的服务器(TCP)
    11.1引言
    11.2并发ECHO
    11.3循环与并发实现的比较
    11.4进程结构
    11.5并发ECHO服务器举例
    11.6清除游离(errant)进程
    11.7小结
    深入研究
    习题

    第12章将线程用于并发(TCP)
    12.1引言
    12.2Linux线程概述
    12.3线程的优点
    12.4线程的缺点
    12.5描述符.延迟和退出
    12.6线程退出
    12.7线程协调和同步
    12.8使用线程的服务器实例
    12.9监控
    12.10小结
    深入研究
    习题

    第13章单线程并发服务器(TCP)
    13.1引言
    13.2服务器中的数据驱动处理
    13.3用单线程进行数据驱动处理
    13.4单线程服务器的线程结构
    13.5单线程ECHO服务器举例
    13.6小结
    深入研究
    习题

    第14章多协议服务器(TCP,UDP)
    14.1引言
    14.2减少服务器数量的动机
    14.3多协议服务器的设计
    14.4进程结构
    14.5多协议DAYTIME服务器的例子
    14.6共享代码的概念
    14.7并发多协议服务器
    14.8小结
    深入研究
    习题

    第15章多服务服务器(TCP,UDP)
    15.1引言
    15.2合并服务器
    15.3无连接的,多服务服务器的设计
    15.4面向连接的,多服务服务器的设计
    15.5并发的,面向连接的,多服务服务器
    15.6单线程的,多服务服务器的实现
    15.7从多服务服务器调用单独的程序
    15.8多服务,多协议设计
    15.9多服务服务器的例子
    15.10静态的和动态的服务器配置
    15.11UNIX超级服务器,inetd
    15.12inetd服务器的例子
    15.13服务器的几种变形清单
    15.14小结
    深入研究
    习题

    第16章服务器并发性的统一高效管理
    16.1引言
    16.2在循环设计和并发设计间选择
    16.3并发等级
    16.4需求驱动的并发
    16.5并发的代价
    16.6额外开销和时延
    16.7小时延可能出麻烦
    16.8从线程/进程预分配
    16.9延迟的从线程/进程分配
    16.10两种技术统一的基础
    16.11技术的结合
    16.12小结
    深入研究
    习题

    第17章客户进程中的并发
    17.1引言
    17.2并发的优点
    17.3用控制的动机
    17.4与多个服务器的并发联系
    17.5实现并发客户
    17.6单线程实现
    17.7使用ECHO的并发客户例子
    17.8并发客户的执行
    17.9例子代码中的并发性
    17.10小结
    习题

    第18章运输层和应用层的隧道技术
    18.1引言
    18.2多协议环境
    18.3混合网络技术
    18.4动态电路分配
    18.5封装和隧道技术
    18.6通过IP互联网的隧道技术
    18.7客户和服务器之间的应用级隧道技术
    18.8隧道技术.封装和电话拨号线
    18.9小结
    深入研究
    习题

    第19章应用级网关
    19.1引言
    19.2在受约束的环境中的客户和服务器
    19.3使用应用网关
    19.4通过邮件网关互操作
    19.5邮件网关的实现
    19.6应用网关与隧道技术的比较
    19.7应用网关和有限因特网连接
    19.8为解决安全问题而使用的应用网关
    19.9应用网关和额外跳问题..
    19.10应用网关举例
    19.11一个应用网关的实现
    19.12应用网关的代码
    19.13网关交换的例子
    19.14使用fred和.forward或sloeal文件
    19.15通用的应用网关
    19.16SLIBP的运行
    19.17SLIRP如何处理连接
    19.18IP寻址和SLIRP
    19.19小结
    深入研究
    习题

    第20章外部数据表示(XDR)
    20.1引言
    20.2数据表示
    20.3N平方转换问题
    20.4网络标准字节顺序
    20.5外部数据表示的事实上的标准
    20.6XDR数据类型
    20.7隐含类型
    20.8使用XDR的软件支持
    20.9XDR库例程
    20.10一次一片地构造报文
    20.11XDB库中的转换例程
    20.12XDR流.I/O和TCP
    20.13记录、记录边界和数据报I/O
    20.14小结
    深入研究
    习题

    第21章远程过程调用(RPC)的概念
    21.1引言
    21.2远程过程调用模型
    21.3构建分布式程序的两种模式
    21.4常规过程调用的概念性模型
    21.5过程模型的扩充
    21.6常规过程调用的执行和返回
    21.7分布式系统中的过程模型
    21.8客户-服务器和RPC之间的类比
    21.9作为程序的分布式计算
    21.10SunMicrosystems的远程过程调用定义
    21.11远程程序和过程
    21.12减少参数的数量
    21.13标识远程程序和过程
    21.14适应远程程序的多个版本
    21.15远程程序中的互斥
    21.16通信语义
    21.17至少一次语义
    21.18RPC重传
    21.19将远程程序映射到协议端口
    21.20动态端口映射
    21.21RPC端口映射器算法
    21.22ONCRPC的报文格式
    21.23对远程过程进行参数排序
    21.24鉴别
    21.25RPC报文表示的例子
    21.26UNIX鉴别字段的例子
    21.27小结
    深入研究
    习题

    第22章分布式程序的生成(rpcgen的概念)
    22.1引言
    22.2使用远程过程调用
    22.3支持RPC的编程工具
    22.4将程序划分成本地过程和远程过程
    22.5为RPC增加代码
    22.6stub过程
    22.7多个远程过程和分派
    22.8客户端的stub过程的名字
    22.9使用rpcgen生成分布式程序
    22.10rpcgen输出和接口过程
    22.11rpcgen的输入和输出
    22.12使用rpcgen构建客户和服务器
    22.13小结
    深入研究
    习题

    第23章分布式程序的生成(rpcgen的例子)
    23.1引言
    23.2说明rpcgen的例子
    23.3查找字典
    23.4分布式程序的八个步骤
    23.5步骤1:构建常规应用程序
    23.6步骤2:将程序划分成两部分
    23.7步骤3:创建rpcgen规约
    23.8步骤4:运行rpcgen
    23.9rpcgen产生的,h文件
    23.10rpcgen产生的XDR转换文件
    23.11rpcgen产生的客户代码
    23.12rpcgen产生的服务器代码
    23.13步骤5:编写stub接口过程
    23.14步骤6:编译和链接客户程序
    23.15步骤7:编译和链接服务器程序
    23.16步骤8:启动服务器和执行客户
    23.17使用make实用程序
    23.18小结
    深入研究
    习题

    第24章网络文件系统(NFS)的概念
    24.1引言
    24.2远程文件存取和传送
    24.3对远程文件的操作
    24.4异构计算机之间的文件存取
    24.5无状态服务器
    24.6NFS和UNIX的文件语义
    24.7UNIX文件系统的回顾
    24.8NFS下的文件
    24.9NFS的文件类型
    24.10NFS文件模式
    24.11NFS文件属性
    24.12NFS客户和服务器
    24.13NFS客户操作
    24.14NFS客户与UNIX系统
    24.15NFS安装
    24.16文件句柄
    24.17句柄取代路径名
    24.18无状态服务器的文件定位
    24.19对目录的操作
    24.20无状态地读目录
    24.21NFS服务器中的多个分层结构
    24.22安装(mount)协议
    24.23NFS的传输协议
    24.24小结
    深入研究
    习题

    第25章网络文件系统协议(NFS,Mount)
    25.1引言
    25.2用BPC定义协议
    25.3用数据结构和过程定义协议
    25.4NFS常数.类型和数据声明
    25.5NFS过程
    25.6NFS操作的语义
    25.7安装协议
    25.8安装协议中的过程
    25.9安装操作的语义
    25.10NFS和安装鉴别
    25.11文件加锁
    25.12NFS第3版与第4版之间的变化
    25.13小结
    深入研究
    习题

    第26章TELNET客户(程序结构)
    26.1引言
    26.2概述
    26.3TELNET客户算法
    26.4Linux中的终端I/O
    26.5建立终端模式
    26.6用于保存状态的全局变量
    26.7在退出之前恢复终端模式
    26.8客户挂起与恢复
    26.9有限状态机的规约
    26.10在TELNET数据流中嵌入命令
    26.11选项协商
    26.12请求/提供的对称性
    26.13TELNET字符定义
    26.14针对来自服务器数据的有限状态机
    26.15在各种状态之间转移
    26.16有限状态机的实现
    26.17压缩的有限状态机表示
    26.18在运行时维持压缩表示
    26.19压缩表示的实现
    26.20构造有限状态机转移矩阵
    26.21套接字输出有限状态机
    26.22套接字输出有限状态机的相关定义
    26.23选项子协商有限状态机
    26.24选项子协商有限状态机的相关定义
    26.25有限状态机初始化
    26.26TELNET客户的参数
    26.27TELNET客户的核心
    26.28主有限状态机的实现
    26.29小结
    深入研究
    习题

    第27章TELNET客户(实现细节)
    27.1引言
    27.2有限状态机动作过程
    27.3记录选项请求的类型
    27.4完成空操作
    27.5对回显选项的WILL/WONT做出响应
    27.6对未被支持的选项的WILL/WONT做出响应
    27.7对nogo-ahead选项的WILL/WONT做出响应
    27.8生成用于二进制传输的DO/DONT
    27.9对未被支持的选项的DO/DONT做出响应
    27.10对传输二进制选项的DO/DONT做出响应
    27.11对终端类型选项的DO/DONT做出响应
    27.12选项子协商
    27.13发送终端类型信息
    27.14终止子协商
    27.15向服务器发送字符
    27.16显示在用户终端上出现的传入数据
    27.17使用termeap控制用户终端
    27.18将数据块写到服务器
    27.19与客户进程交互
    27.20对非法命令做出响应
    27.21脚本描述文件
    27.22脚本描述的实现
    27.23初始化脚本描述
    27.24收集脚本文件名的字符
    27.25打开脚本文件
    27.26终止脚本描述
    27.27打印状态信息
    27.28小结
    深入研究
    习题

    第28章流式音频和视频传输(RTP概念和设计)
    28.1引言
    28.2流式传输服务
    28.3实时交付
    28.4抖动的协议补偿
    28.5重传.丢失和恢复
    28.6实时传输协议
    28.7流的转换和混合
    28.8迟延回放和抖动缓存
    28.9RTP控制协议(RTCP)
    28.10多种流同步
    28.11RTP传输和多对多传输
    28.12会话、流、协议端口和分用
    28.13编码的基本方法
    28.14RTP软件的概念性组织
    28.15进程/线程结构
    28.16API的语义
    28.17抖动缓存的设计和重新缓存
    28.18事件处理
    28.19回放异常及时间戳的复杂性
    28.20实时库例子的大小
    28.21MP3播放器的例子
    28.22小结
    深入研究
    习题

    第29章流式音频和视频传输(RTP实现示例)
    29.1引言
    29.2集成实现
    29.3程序结构
    29.4RTP定义
    29.5时间值的处理
    29.6RTP序列空间的处理
    29.7RTP分组队列的处理
    29.8RTP输入处理
    29.9为RTCP保存统计信息
    29.10RTP初始化
    29.11RTCP的定义
    29.12接收RTCP发送方的报告
    29.13产生BTCP接收方的报告
    29.14创建RTCP的首部
    29.15RTCP时延的计算
    29.16RTCPBye(再见)报文的产生
    29.17集成实现的大小
    29.18小结
    深入研究
    习题

    第30章Linux服务器中的实用技巧和技术
    30.1引言
    30.2后台操作
    30.3编写在后台运行的服务器
    30.4打开描述符和继承
    30.5对服务器编程以关闭所继承的描述符
    30.6来自控制TTY的信号
    30.7对服务器编程以改变它的控制TTY
    30.8转移到一个安全的和已知的目录
    30.9对服务器编程以改变目录
    30.10Linuxumask
    30.11对服务器编程以设置其umask
    30.12进程组,
    30.13对服务器编程以设置其进程组
    30.14标准I/O描述符
    30.15对服务器编程以打开标准描述符
    30.16服务器互斥
    30.17对服务器编程以避免多个副本
    30.18记录服务器的进程ID
    30.19对服务器编程以记录其进程ID
    30.20等待一个子进程退出
    30.21对服务器编程以等待每个子进程退出
    30.22外来信号
    30.23对服务器编程以忽略外来信号
    30.24使用系统日志设施
    30.25小结
    深入研究
    习题

    第31章客户-服务器系统中的死锁和资源缺乏
    31.1引言
    31.2死锁的定义
    31.3死锁检测的难度
    31.4避免死锁
    31.5客户和服务器间的死锁
    31.6在单个交互中避免死锁
    31.7一组客户和一个服务器之间的资源缺乏
    31.8忙连接和资源缺乏
    31.9避免阻塞的操作
    31.10进程、连接和其他限制
    31.11客户和服务器的循环
    31.12用文档确认依赖性
    31.13小结
    习题
    附录1系统调用与套接字使用的库例程
    附录2Linux文件和套接字描述符的操作
    参考文献
查看详情
12
相关图书 / 更多
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外志愿服务
中国志愿服务联合会;中国志愿服务基金会
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外中国研究著作选目提要·2014
国家图书馆海外中国问题研究资料中心 编
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外医学教育
王维民 主编;侯建林
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外军民两用计划实施方式研究
作者
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外放射性废物管理法律概述(加拿大 德国)
刘新华
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外军用飞机的发展及其技术
韩非非 著;马高山
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外罪犯矫正制度概论
翟中东
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外放射性废物管理法律概述(法国)
刘新华
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外汽车排放检验与维修制度
《蓝天保卫战:在用汽车排放超标控制技术丛书》编写组 编
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外名校名著--定量药理学应用
斯蒂芬·施密特 主编
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外节水实践
本书编委会
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国外名校名著--化工过程分析、综合与设计 第五版(英文原版影印)
理查德·特顿 著
您可能感兴趣 / 更多
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
国外计算机科学教材系列·用TCP/IP进行网际互连:客户-服务器编程与应用(Linux/POSIX套接字版)(第3卷)
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译