TCP/IP高效编程:改善网络程序的44个技巧

TCP/IP高效编程:改善网络程序的44个技巧
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Snader J.C.) , ,
2011-04
版次: 1
ISBN: 9787115249371
定价: 55.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 268页
字数: 420千字
正文语种: 简体中文
原版书名: Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs
  •   作为网络程序员,你是否发现自己的应用程序远远不够健壮?那么,你需要了解编写高效TCP/IP程序所需的各种知识。本书正是这么一本经典著作,它专注于协议族中那些细微的特性,提炼出的44个技巧可立竿见影地提升编程能力。

      《TCP/IP高效编程:改善网络程序的44个技巧》在介绍这些技巧的同时,对TCP/IP编程的基本思想和概念进行了说明,结合大量实例透彻解析了TCP/IP中的实践经验以及法则,还说明了如何避免网络编程中一些最常见的问题。书中提供的框架代码和常用函数库让你能够方便快捷地编写出应用程序,而无需操心一些细枝末节。

      书中对下列问题提出了宝贵建议:

      IP编址、子网以及CIDR的研究

      使用套接字接口代替XTI/TLI

      使用两条TCP连接

      使应用程序成为事件驱动的

      使用一次大规模写操作代替多次小规模写操作

      避免数据复制

      理解TCP可靠性的涵义

      认识缓冲区大小带来的影响

      高效使用tcpdump、traceroute、netstat和ping   Jon Snader TCP/IP专家,Paradigm4的资深软件工程师。他的工作领域包括通信、网络、编译器开发、操作系统以及无线网络控制器等。最近主要从事公共安全市场的报文交换系统方面的工作。
    第1章 概述 

    1.1 几个约定 

    1.2 本书其余部分的内容介绍 

    1.3 客户端—服务器结构 

    1.4 对基本套接字API的回顾 

    1.5 小结 

    第2章 基本概念 

    2.1 技巧1:理解面向连接和无连接协议之间的区别 

    2.2 技巧2:理解子网和CIDR的概念 

    2.2.1 分类编址 

    2.2.2 子网划分 

    2.2.3 CIDR 

    2.2.4 子网划分和CIDR的状态 

    2.2.5 小结 

    2.3 技巧3:理解私有地址和NAT 

    2.4 技巧4:开发并使用应用程序“框架” 

    2.4.1 TCP服务器框架 

    2.4.2 TCP客户端框架 

    2.4.3 UDP服务器框架 

    2.4.4 UDP客户端框架 

    2.4.5 小结 

    2.5 技巧5:套接字接口比XTI/TLI更好用 

    2.6 技巧6:记住,TCP是一种流协议 

    2.7 技巧7:不要低估TCP的性能 

    2.7.1 UDP源程序与接收程序 

    2.7.2 TCP源程序及接收程序 

    2.7.3 小结 

    2.8 技巧8:避免重新编写TCP 

    2.9 技巧9:要认识到TCP是一个可靠的,但并不绝对可靠的协议 

    2.9.1 可靠性——是什么,不是什么 

    2.9.2 故障模式 

    2.9.3 网络中断 

    2.9.4 对等实体崩溃 

    2.9.5 对等实体的主机崩溃 

    2.9.6 小结 

    2.10 技巧10:记住,TCP/IP不是轮询的 

    2.10.1 保持活跃 

    2.10.2 心跳信号 

    2.10.3 另一个例子 

    2.10.4 小结 

    2.11 技巧11:提防对等实体的不友好动作 

    2.11.1 检测客户端的终止 

    2.11.2 检测无效输入 

    2.11.3 小结 

    2.12 技巧12:成功的LAN策略不一定能推广到WAN中去 

    2.12.1 性能问题举例 

    2.12.2 隐含错误举例 

    2.12.3 小结 

    2.13 技巧13:了解协议是怎样工作的 

    2.14 技巧14:不要把OSI七层参考模型太当回事 

    2.14.1 OSI模型 

    2.14.2 TCP/IP模型 

    2.14.3 小结 

    第3章 构建高效且健壮的网络程序 

    3.1 技巧15:理解TCP的写操作 

    3.1.1 从应用程序的角度看写操作 

    3.1.2 从TCP角度看写操作 

    3.1.3 小结 

    3.2 技巧16:理解TCP的有序释放操作 

    3.2.1 shutdown调用 

    3.2.2 有序释放 

    3.2.3 小结 

    3.3 技巧17:考虑用inetd来装载应用程序 

    3.3.1 TCP服务器 

    3.3.2 UDP服务器 

    3.3.3 小结 

    3.4 技巧18:考虑用tcpmux为服务器“分配”知名端口 

    3.5 技巧19:考虑使用两条TCP连接 

    3.5.1 单连接结构 

    3.5.2 双连接架构 

    3.5.3 小结 

    3.6 技巧20:使应用程序成为事件驱动的(1) 

    3.7 技巧21:使应用程序成为事件驱动的(2) 

    3.8 技巧22:不要用TIME-WAIT暗杀来关闭一条连接 

    3.8.1 它是什么 

    3.8.2 为什么要使用它 

    3.8.3 TIME-WAIT暗杀 

    3.8.4 小结 

    3.9 技巧23:服务器应该设置SO_REUSEADDR选项 

    3.10 技巧24:可能的话,使用一个大规模的写操作,而不是多个小规模的写操作 

    3.10.1 禁用Nagle算法 

    3.10.2 将写操作合并起来 

    3.10.3 小结 

    3.11 技巧25:理解如何使connect调用超时 

    3.11.1 使用告警 

    3.11.2 使用select 

    3.11.3 小结 

    3.12 技巧26:避免数据复制 

    3.12.1 共享内存缓冲区 

    3.12.2 一个共享内存缓冲区系统 

    3.12.3 一个UNIX实现 

    3.12.4 一个Windows实现 

    3.12.5 小结 

    3.13 技巧27:使用前将结构sockadddr_in清零 

    3.14 技巧28:不要忘记字节的性别 

    3.15 技巧29:不要将IP地址或端口号硬编入应用程序中 

    3.16 技巧30:理解已连接的UDP套接字 

    3.17 技巧31:记住,并不是所有程序都是用C编写的 

    3.18 技巧32:理解缓冲区长度带来的影响 

    第4章 工具和资源 

    4.1 技巧33:熟悉ping实用工具 

    4.2 技巧34:学习使用tcpdump或类似的工具 

    4.2.1 tcpdump是如何工作的 

    4.2.2 使用tcpdump 

    4.2.3 tcpdump的输出 

    4.2.4 小结 

    4.3 技巧35:学习使用traceroute 

    4.3.1 traceroute是如何工作的 

    4.3.2 Windows TRACERT 

    4.3.3 小结 

    4.4 技巧36:学习使用ttcp 

    4.5 技巧37:学习使用lsof 

    4.6 技巧38:学习使用netstat 

    4.6.1 活动套接字 

    4.6.2 接口 

    4.6.3 路由表 

    4.6.4 协议统计 

    4.6.5 Windows版的netstat 

    4.6.6 小结 

    4.7 技巧39:学习使用系统中的调用追踪工具 

    4.7.1 过早终止 

    4.7.2 ttcp性能问题 

    4.7.3 小结 

    4.8 技巧40:构建并使用捕获ICMP报文的工具 

    4.8.1 读取ICMP报文 

    4.8.2 打印ICMP报文 

    4.8.3 小结 

    4.9 技巧41:读Stevens的书 

    4.9.1 《TCP/IP详解》丛书 

    4.9.2 《UNIX网络编程》丛书 

    4.10 技巧42:阅读代码 

    4.11 技巧43:访问RFC编辑者的页面 

    4.12 技巧44:经常访问新闻组 

    附录A 各种UNIX代码 

    附录B 各种Windows代码 

    参考书目 

    索引
  • 内容简介:
      作为网络程序员,你是否发现自己的应用程序远远不够健壮?那么,你需要了解编写高效TCP/IP程序所需的各种知识。本书正是这么一本经典著作,它专注于协议族中那些细微的特性,提炼出的44个技巧可立竿见影地提升编程能力。

      《TCP/IP高效编程:改善网络程序的44个技巧》在介绍这些技巧的同时,对TCP/IP编程的基本思想和概念进行了说明,结合大量实例透彻解析了TCP/IP中的实践经验以及法则,还说明了如何避免网络编程中一些最常见的问题。书中提供的框架代码和常用函数库让你能够方便快捷地编写出应用程序,而无需操心一些细枝末节。

      书中对下列问题提出了宝贵建议:

      IP编址、子网以及CIDR的研究

      使用套接字接口代替XTI/TLI

      使用两条TCP连接

      使应用程序成为事件驱动的

      使用一次大规模写操作代替多次小规模写操作

      避免数据复制

      理解TCP可靠性的涵义

      认识缓冲区大小带来的影响

      高效使用tcpdump、traceroute、netstat和ping
  • 作者简介:
      Jon Snader TCP/IP专家,Paradigm4的资深软件工程师。他的工作领域包括通信、网络、编译器开发、操作系统以及无线网络控制器等。最近主要从事公共安全市场的报文交换系统方面的工作。
  • 目录:
    第1章 概述 

    1.1 几个约定 

    1.2 本书其余部分的内容介绍 

    1.3 客户端—服务器结构 

    1.4 对基本套接字API的回顾 

    1.5 小结 

    第2章 基本概念 

    2.1 技巧1:理解面向连接和无连接协议之间的区别 

    2.2 技巧2:理解子网和CIDR的概念 

    2.2.1 分类编址 

    2.2.2 子网划分 

    2.2.3 CIDR 

    2.2.4 子网划分和CIDR的状态 

    2.2.5 小结 

    2.3 技巧3:理解私有地址和NAT 

    2.4 技巧4:开发并使用应用程序“框架” 

    2.4.1 TCP服务器框架 

    2.4.2 TCP客户端框架 

    2.4.3 UDP服务器框架 

    2.4.4 UDP客户端框架 

    2.4.5 小结 

    2.5 技巧5:套接字接口比XTI/TLI更好用 

    2.6 技巧6:记住,TCP是一种流协议 

    2.7 技巧7:不要低估TCP的性能 

    2.7.1 UDP源程序与接收程序 

    2.7.2 TCP源程序及接收程序 

    2.7.3 小结 

    2.8 技巧8:避免重新编写TCP 

    2.9 技巧9:要认识到TCP是一个可靠的,但并不绝对可靠的协议 

    2.9.1 可靠性——是什么,不是什么 

    2.9.2 故障模式 

    2.9.3 网络中断 

    2.9.4 对等实体崩溃 

    2.9.5 对等实体的主机崩溃 

    2.9.6 小结 

    2.10 技巧10:记住,TCP/IP不是轮询的 

    2.10.1 保持活跃 

    2.10.2 心跳信号 

    2.10.3 另一个例子 

    2.10.4 小结 

    2.11 技巧11:提防对等实体的不友好动作 

    2.11.1 检测客户端的终止 

    2.11.2 检测无效输入 

    2.11.3 小结 

    2.12 技巧12:成功的LAN策略不一定能推广到WAN中去 

    2.12.1 性能问题举例 

    2.12.2 隐含错误举例 

    2.12.3 小结 

    2.13 技巧13:了解协议是怎样工作的 

    2.14 技巧14:不要把OSI七层参考模型太当回事 

    2.14.1 OSI模型 

    2.14.2 TCP/IP模型 

    2.14.3 小结 

    第3章 构建高效且健壮的网络程序 

    3.1 技巧15:理解TCP的写操作 

    3.1.1 从应用程序的角度看写操作 

    3.1.2 从TCP角度看写操作 

    3.1.3 小结 

    3.2 技巧16:理解TCP的有序释放操作 

    3.2.1 shutdown调用 

    3.2.2 有序释放 

    3.2.3 小结 

    3.3 技巧17:考虑用inetd来装载应用程序 

    3.3.1 TCP服务器 

    3.3.2 UDP服务器 

    3.3.3 小结 

    3.4 技巧18:考虑用tcpmux为服务器“分配”知名端口 

    3.5 技巧19:考虑使用两条TCP连接 

    3.5.1 单连接结构 

    3.5.2 双连接架构 

    3.5.3 小结 

    3.6 技巧20:使应用程序成为事件驱动的(1) 

    3.7 技巧21:使应用程序成为事件驱动的(2) 

    3.8 技巧22:不要用TIME-WAIT暗杀来关闭一条连接 

    3.8.1 它是什么 

    3.8.2 为什么要使用它 

    3.8.3 TIME-WAIT暗杀 

    3.8.4 小结 

    3.9 技巧23:服务器应该设置SO_REUSEADDR选项 

    3.10 技巧24:可能的话,使用一个大规模的写操作,而不是多个小规模的写操作 

    3.10.1 禁用Nagle算法 

    3.10.2 将写操作合并起来 

    3.10.3 小结 

    3.11 技巧25:理解如何使connect调用超时 

    3.11.1 使用告警 

    3.11.2 使用select 

    3.11.3 小结 

    3.12 技巧26:避免数据复制 

    3.12.1 共享内存缓冲区 

    3.12.2 一个共享内存缓冲区系统 

    3.12.3 一个UNIX实现 

    3.12.4 一个Windows实现 

    3.12.5 小结 

    3.13 技巧27:使用前将结构sockadddr_in清零 

    3.14 技巧28:不要忘记字节的性别 

    3.15 技巧29:不要将IP地址或端口号硬编入应用程序中 

    3.16 技巧30:理解已连接的UDP套接字 

    3.17 技巧31:记住,并不是所有程序都是用C编写的 

    3.18 技巧32:理解缓冲区长度带来的影响 

    第4章 工具和资源 

    4.1 技巧33:熟悉ping实用工具 

    4.2 技巧34:学习使用tcpdump或类似的工具 

    4.2.1 tcpdump是如何工作的 

    4.2.2 使用tcpdump 

    4.2.3 tcpdump的输出 

    4.2.4 小结 

    4.3 技巧35:学习使用traceroute 

    4.3.1 traceroute是如何工作的 

    4.3.2 Windows TRACERT 

    4.3.3 小结 

    4.4 技巧36:学习使用ttcp 

    4.5 技巧37:学习使用lsof 

    4.6 技巧38:学习使用netstat 

    4.6.1 活动套接字 

    4.6.2 接口 

    4.6.3 路由表 

    4.6.4 协议统计 

    4.6.5 Windows版的netstat 

    4.6.6 小结 

    4.7 技巧39:学习使用系统中的调用追踪工具 

    4.7.1 过早终止 

    4.7.2 ttcp性能问题 

    4.7.3 小结 

    4.8 技巧40:构建并使用捕获ICMP报文的工具 

    4.8.1 读取ICMP报文 

    4.8.2 打印ICMP报文 

    4.8.3 小结 

    4.9 技巧41:读Stevens的书 

    4.9.1 《TCP/IP详解》丛书 

    4.9.2 《UNIX网络编程》丛书 

    4.10 技巧42:阅读代码 

    4.11 技巧43:访问RFC编辑者的页面 

    4.12 技巧44:经常访问新闻组 

    附录A 各种UNIX代码 

    附录B 各种Windows代码 

    参考书目 

    索引
查看详情
您可能感兴趣 / 更多
TCP/IP高效编程:改善网络程序的44个技巧
TCP\IP网络编程项目式教程(微课版)/计算机系列教材
唐四薪 著
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP协议分析教程与实验(第2版)微课视频版
陈年
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP基础(第2版)
刘化君
TCP/IP高效编程:改善网络程序的44个技巧
TCPIP详解卷3:TCP事务协议.HTTP.NNTP和UNIX域协议 美理查德·史蒂文斯W.Richard Stevens 著 胡谷雨 吴礼发 等 译
[美]理查德·史蒂文斯W.Richard Stevens
TCP/IP高效编程:改善网络程序的44个技巧
TCF听力高频词汇集锦
李璐、刘若云 编
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络协议分析与实践
毛文涛 著
TCP/IP高效编程:改善网络程序的44个技巧
TCPIP详解卷2:实现 美加里·R·赖特Gary R.Wright,W.理查德·史蒂文斯 著 陆雪莹 蒋慧 等 译
[美]加里·R·赖特Gary R.Wright;W.理查德·史蒂文斯
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络协议分析及应用
马常霞、张占强 著
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络编程原理与技术/计算机系列教材
钟辉、臧晗、董洁、宋凯、孟祥宇 著
TCP/IP高效编程:改善网络程序的44个技巧
TCF法语知识测试:练习250题(修订本)
埃莱娜·雷拉 著;[法]桑德里娜·比约 编;朱佩娟 译
TCP/IP高效编程:改善网络程序的44个技巧
TCFTEF词汇词根+词缀+联想记忆法(第4版)
曹慧 编
TCP/IP高效编程:改善网络程序的44个技巧
TCP是怎样工作的
[日]安永辽真 中山悠 丸田一辉
系列丛书 / 更多
TCP/IP高效编程:改善网络程序的44个技巧
TCP\IP网络编程项目式教程(微课版)/计算机系列教材
唐四薪 著
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP协议分析教程与实验(第2版)微课视频版
陈年
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP基础(第2版)
刘化君
TCP/IP高效编程:改善网络程序的44个技巧
TCPIP详解卷3:TCP事务协议.HTTP.NNTP和UNIX域协议 美理查德·史蒂文斯W.Richard Stevens 著 胡谷雨 吴礼发 等 译
[美]理查德·史蒂文斯W.Richard Stevens
TCP/IP高效编程:改善网络程序的44个技巧
TCF听力高频词汇集锦
李璐、刘若云 编
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络协议分析与实践
毛文涛 著
TCP/IP高效编程:改善网络程序的44个技巧
TCPIP详解卷2:实现 美加里·R·赖特Gary R.Wright,W.理查德·史蒂文斯 著 陆雪莹 蒋慧 等 译
[美]加里·R·赖特Gary R.Wright;W.理查德·史蒂文斯
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络协议分析及应用
马常霞、张占强 著
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络编程原理与技术/计算机系列教材
钟辉、臧晗、董洁、宋凯、孟祥宇 著
TCP/IP高效编程:改善网络程序的44个技巧
TCF法语知识测试:练习250题(修订本)
埃莱娜·雷拉 著;[法]桑德里娜·比约 编;朱佩娟 译
TCP/IP高效编程:改善网络程序的44个技巧
TCFTEF词汇词根+词缀+联想记忆法(第4版)
曹慧 编
TCP/IP高效编程:改善网络程序的44个技巧
TCP是怎样工作的
[日]安永辽真 中山悠 丸田一辉
相关图书 / 更多
TCP/IP高效编程:改善网络程序的44个技巧
TCP\IP网络编程项目式教程(微课版)/计算机系列教材
唐四薪 著
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP协议分析教程与实验(第2版)微课视频版
陈年
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP基础(第2版)
刘化君
TCP/IP高效编程:改善网络程序的44个技巧
TCPIP详解卷3:TCP事务协议.HTTP.NNTP和UNIX域协议 美理查德·史蒂文斯W.Richard Stevens 著 胡谷雨 吴礼发 等 译
[美]理查德·史蒂文斯W.Richard Stevens
TCP/IP高效编程:改善网络程序的44个技巧
TCF听力高频词汇集锦
李璐、刘若云 编
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络协议分析与实践
毛文涛 著
TCP/IP高效编程:改善网络程序的44个技巧
TCPIP详解卷2:实现 美加里·R·赖特Gary R.Wright,W.理查德·史蒂文斯 著 陆雪莹 蒋慧 等 译
[美]加里·R·赖特Gary R.Wright;W.理查德·史蒂文斯
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络协议分析及应用
马常霞、张占强 著
TCP/IP高效编程:改善网络程序的44个技巧
TCP/IP网络编程原理与技术/计算机系列教材
钟辉、臧晗、董洁、宋凯、孟祥宇 著
TCP/IP高效编程:改善网络程序的44个技巧
TCF法语知识测试:练习250题(修订本)
埃莱娜·雷拉 著;[法]桑德里娜·比约 编;朱佩娟 译
TCP/IP高效编程:改善网络程序的44个技巧
TCFTEF词汇词根+词缀+联想记忆法(第4版)
曹慧 编
TCP/IP高效编程:改善网络程序的44个技巧
TCP是怎样工作的
[日]安永辽真 中山悠 丸田一辉