第一图书网

UNIX网络编程 卷1:套接字联网API(第3版)

W.Richard Stevens,Bill Fenner,Andrew M. Rudoff 人民邮电出版社
出版时间:

2010-6  

出版社:

人民邮电出版社  

作者:

W.Richard Stevens,Bill Fenner,Andrew M. Rudoff  

页数:

804  

译者:

杨继张  

Tag标签:

无  

前言

概述 本书面向的读者是那些希望自己编写的程序能使用称为套接字(socket)的API进行彼此通信的人。有些读者可能已经非常熟悉套接字了,因为这个模型几乎已经成了网络编程的同义词,但有些读者可能仍需要从头开始学习。本书想达到的目标是向大家提供网络编程指导。这些内容不仅适用于专业人士,也适用于初学者;不仅适用于维护已有代码,也适用于开发新的网络应用程序;此外,还适用于那些只是想了解一下自己系统中网络组件的工作原理的人。 书中的所有示例都是在Unix系统上测试通过的真实的、可运行的代码。但是,考虑到许多非Unix的操作系统也支持套接字API,因而我们选取的示例与所讲述的一般性概念,在很大程度上是与操作系统无关的。几乎每种操作系统都提供了大量的网络应用程序,如网页浏览器、电子邮件客户端、文件共享服务器等。我们按常规的划分方法把这些应用程序分为客户程序和服务器程序,并在书中多次编写了相应的小型示例。 面向Unix介绍网络编程自然免不了要介绍Unix本身和TCP/IP的相关背景知识。需要更详尽的背景知识时,我们会指引读者查阅其他书籍。本书中经常提到以下4本书,我们将其简记如下: APUE:Advanced Programming in the UNIX Environment [Stevens 1992]; TCPv1:TCP/IP Illustrated, Volume 1 [Stevens 1994]; TCPv2:TCP/IP Illustrated, Volume 2 [Wright and Stevens 1995]; TCPv3:TCP/IP Illustrated, Volume 3 [Stevens 1996]。 其中TCPv2包含了与本书内容密切相关的细节,它描述并给出了套接字API中网络编程函数(socket、bind、connect等)的真实4.4BSD实现。如果已经理解某个特性的实现,那么在应用程序中使用该特性就更有意义了。 与第2版的区别 从20世纪80年代开始,套接字就差不多是现在这个样子了。时至今日,套接字仍然是网络API的首选,其最初的设计的确值得称道。因此,当读者发现我们对出版于1998年的第2版又做了不少改动时,可能会觉得惊讶。本书中所做的改动归纳如下。 新版本包含了IPv6的最新信息。在第2版出版时,IPv6尚处于草案阶段,这些年来已经有所发展。 更新了全部函数和示例的描述,以反映最新的POSIX规范(POSIX 1003.1-2001),即Single Unix Specification Version 3。 删去了X/Open传输接口(XTI)的内容。这个API已经不常用了,连最新的POSIX 规范也不再提到。 删去了事务TCP协议(T/TCP)的内容。 新增了三章用于描述一种相对较新的传输协议——SCTP。这个可靠的面向消息的协议能够在两个端点之间提供多个流,并为多归属技术提供传输层支持。该协议最初是为了在因特网上传输电话信号而设计的,但它的一些特性可以用于许多应用。

内容概要

  本书是一部UNIX网络编程的经典之作!书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还深入分析了流这种设备驱动机制。  本书内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。

作者简介

W.Richard Stevens国际知名的Unix和网络专家,《TCP/IP 详解》(三卷本)作者W.Richard Stevens(1951-1999),是国际知名的Unix和网络专家;受人尊敬的计算机图书作家;同时他还是广受欢迎的教师和顾问。

书籍目录

第一部分 简介和TCP/IP 第1章 简介  第2章 传输层:TCP、UDP和SCTP 第二部分 基本套接字编程 第3章 套接字编程简介  第4章 基本TCP套接字编程  第5章 TCP客户/服务器程序示例  第6章 I/O复用:select和poll函数  第7章 套接字选项  第8章 基本UDP套接字编程  第9章 基本SCTP套接字编程 第10章 SCTP客户/服务器程序例子 第11章 名字与地址转换第三部分 高级套接字编程 第12章 IPv4与IPv6的互操作性  第13章 守护进程和inetd超级服务器  第14章 高级I/O函数  第15章 Unix域协议  第16章 非阻塞式I/O  第17章 ioctl操作  第18章 路由套接字  第19章 密钥管理套接字  第20章 广播  第21章 多播  第22章 高级UDP套接字编程  第23章 高级SCTP套接字编程  第24章 带外数据  第25章 信号驱动式I/O  第26章 线程  第27章 IP选项  第28章 原始套接字  第29章 数据链路访问  第30章 客户/服务器程序设计范式  第31章 流 附录A IPv4、IPv6、ICMPv4和ICMPv6 附录B 虚拟网络 附录C 调试技术 附录D 杂凑的源代码 附录E 精选习题答案 参考文献索引 

章节摘录

插图:我们将在本章较深入地讨论SCTP,查看SCTP提供的更多特性和套接字选项。我们将讨论多个论题,包括故障检测的控制、无序的数据以及通知。本章通章提供了多个代码例子,以展示如何使用SCTP的某些高级特性。SCTP是一个面向消息的协议,递送给用户的是部分的或完整的消息。部分消息的递送前提是应用进程选择向对端发送大消息(譬如大于套接字缓冲区一半大小)。部分消息被递送给应用进程之后,多个部分消息组合成单个完整消息并不由SCTP负责。在应用进程看来,一个消息既可以由单个输入操作接收,也可以由若干个相继的输入操作接收。我们将通过一个作为例子的函数说明处理这种部分递送机制的一个方法。SCTP服务器程序既可以迭代运行,也可以并发运行,这取决于应用程序开发人员选取的套接字式样。SCTP还提供了从一到多式套接字抽取某个关联并使其成为一到一式套接字的方法。本方法允许构造既可迭代运行又可并发运行的服务器程序。回顾我们在第10章中编写的服务器程序,它不保持任何关联状态,因为它依赖客户程序关闭关联。依赖客户关闭关联存在这样的弱点:要是客户打开一个关联后从不发送任何数据,将发生什么?服务器不得不将资源分配给从不使用这些资源的客户。懒惰的客户会无意中造成对于SCTP实现的拒绝服务攻击。

媒体关注与评论

“所有人都非常期待这本书,因为它完美地结合了实践经验、历史视角以及在本领域浸淫多年才能获得的透彻理解。阅读本书是一种享受,我收获颇丰。相信大家定会有同感。”   ——Sam Leffler,FreeBSD基金会副主席 “这部著作在计算机科学领域里的传奇得以延续,Bill Fenner和Andrew Rudoff居功至伟。”   ——Art Sedighi “这套书是学习网络编程最好的书。全世界最最好的,远超群伦。”   ——S. Devasundaram “这本书不会让你一夜之间成为专家,但它终究会让你成为专家。”   ——John Nguyen


编辑推荐

《UNIX网络编程(卷1):套接字联网API(第3版)》中顶级网络编程专家Bill Fenner和Andrew M. Rudoff应邀执笔,对W. Richard Stevens的经典作品进行修订。书中吸纳了近几年网络技术的发展,增添了IPv6、SCTP协议和密钥管理套接字等内容,深入讨论了最新的关键标准、实现和技术。书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,继承了Stevens一直强调的理念:“学习网络编程的最好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”读者可以从图灵网站《UNIX网络编程(卷1):套接字联网API(第3版)》网页免费注册下载这些示例的源代码。 《UNIX网络编程(卷1):套接字联网API(第3版)》为UNIX网络编程提供全面的指导,是网络研究和开发人员公认的权威参考书,无论网络编程的初学者还是网络专家都会大受裨益。

图书封面

图书标签Tags

广告

下载页面


UNIX网络编程 卷1:套接字联网API(第3版) PDF格式下载



UNIX网络编程 卷1:套接字联网API, 值得一看啊


写作手法很轻松灵活,适合不同层次的读者阅读,这本书可以激发读者的灵感给予读者以启迪,可以给读者很透彻的理论指导和实践指南,可以让读者学的更扎实更深入理解UNIX和LINUX网络编程的细节和原理性的知识,是本不可多得的大师级别的巨作值得珍藏。


看着这本书,对于工作的帮助很大,除了网络编程的内容之外还能了解很多unix相关的知识很好


书的内容对于地每位想学习网络编程的人来说必须看,看了之后无论是在linux还是windows平台上,其基本的原理不变,都可以应用上,具体的操作系统平台细节有差异,比如unix下有的socket选项linux下可能是另一个。书的纸张印刷质量很好,人民邮电出版社的图灵系列只要是正版的用的纸质量都很好


UNIX网络编程 经典还用说么
呵呵 如果你是Unix C 程序员
必备
不然你OUT了


详细讲解了Unix网络编程,做网络开发的不错


没什么好说的,如果要搞Unix网络编程,本书必看!


unix网络编程,是学习网络知识的必备书籍,挺不错的


unix网络编程的权威书籍


这本书比卷2有用多了,比《UNIX环境高级编程》有用


UNIX编程经典之一,必须读过才算入门。


unix编程语言强大,需要慢慢研究!


Unix编程必看


拿到书的时候,包装的非常好,书的质量也很好,绝对的正版,没的说,看完了第一章,觉得学到了很多知识,以前在网上下载了扫描版的电子版,可能是个人不习惯用电子版本,总觉得看着电子版看得不是很深入,现在纸质版来了,个人感觉看的比较深入点。很多人说翻译有很多地方错误,有那么严重吗?既然是翻译过来的,而且中文又是博大精深,同种意思各种表述都有,何必那么偏激呢?我觉得翻译很好啊。难不成你买英文版然后google翻译?你试试看?这本书绝对是网络编程的经典必备书籍,像我一样的同学们,不要因为某些人的偏激而影响我们的学习渠道,没有哪一本书是十全十美的。况且还是翻译过来的,应该感谢译者。你草草的看一章做结论,和你认真的看一章做结论那是不一样的,说多了,呵呵


书的内容是公认的网络编程经典之作,大家懂的;书的纸质也蛮好的,就是送来的时候书角有点损伤,没什么关系啦。


看了下还是先买的卷二,网络编程,主要就是太贵了,所以先买一本看。不过物有所值的。


之前听同事说学习网络编程的话,这本书很经典,拿到书大致看了一下内容,确实不错


经典的书,学linux网络编程必看之书~~收获非常大!


学习网络编程的必读书目之一!!
内容货真价实,在计算机科学发展史上该书具有不可磨灭的贡献!

值得认真学习和收藏!


确实没写译者,所以我第一个提问,是不是中文的,买回来确实是中文的,写的是两个人"编译"
看了2章,觉得翻译的还可以,昨天又回头看了机械的<高级环境编程>的第一版,我觉得这个翻译好像更容易理解一些。我没有读过机械的<网络编程>,不知道是不是翻译是一样的。


网络编程中的经典,不得不看


听同事介绍的书,对学习网络编程很有帮助


学习网络编程绝对的经典,简直有一种相见恨晚的感觉


很喜欢网络编程,一直没有系统的学习过,这本书可以系统的学习和掌握网络编程知识


好书,看了本书,使自己对网络编程理解的更深了


网络编程入门必看的一本书


网络编程必看之书,写的最好一本网络编程。超级厉害


大师级的书,刚好网络编程,正好用的上,就厚了点


好书,学习网络编程中


网络编程必修,不用多说


是学习网络编程必备书籍


质感很不错,网络编程必备。


学学网络编程


好书,网络编程必备哦


现在是因特网时代,网络编程是每个程序员必定要掌握的知识,从此时肯定是能够获益的


学习网络编程的必看


网络编程必备,不过要耐心才能看


Stevens的书内容没得说,经典。书质量不错,就是纸张太白,我比较喜欢泛黄一点的纸张,保护眼睛。
这本书基本把现在主要的网络协议,(传输层之上)做了一个深入浅出的说明。看完之后对网络会有一个更高的认识。强烈推荐。


是Linux/UnIX下开发的必备书籍,知识全面,详细,非常不错,翻译的有点生硬。


拿到书,每天都是在地铁上或者路上看!
以前学套接字,你只知道socket是通信的,不知道内部机制是什么,但这本书给你详细的阐述所有的原理,每个细节都涉及到!而且这本书会激发你的兴趣,虽然有800多页,你都觉得太薄了!


这本是经典名著,也根据技术发展做了一些更新。不过译者都不乐意署名了么?这本书把TCP/IP相关的socket api讲的清清楚楚。


最近有接触linux网络驱动开发,买了这两本经典书


对于学习tcp,udp socket编程用处很大


这本书就不说了,大师的经典之作,搞网络的人必备书籍!!!!!没有这本书,就别说你是搞网络的


同样是活动期间买的,天猫**买的东西到现在都没发出来,当当的已经收到了,发货快多了,赞一个。UNIXLINUX网络开发必看书籍。内容详尽,纸质不错。


真是本好书,里面的知识都解释的很详细。对于学习linux编程有很大的帮助


经典书籍,不多说,学习linux等网络变成必备


做网络开发必备书


好书,学网络的不管做那一层的,都应该看看这本书。


有些难度,网络学习很好!


物超所值,好好学习网络这一块了!


本书写的很有条理,对api的用法及为什么这样用都有介绍,加深理解对于代码设计健壮性很有帮助。


这本书是Tcp/ip中得经典,书的质量也很好。


Stevens 写的书值得信赖


好书,没得说;很经典的书,其他不多说了,早就想拥有一套,乘机半价购买。


好书就不用多说了,大家都知道的,两个字:经典


卷一很好,很经典!但是当当主页上国庆哥的图片我怎么看都不好看,有点影响购物的心情!!!


纸张质量好,字体清晰,内容深入,丰富实在。经典中的经典,值得收藏。


全新的书,称着活动果断买了一套,很高兴!


经典书了,值得所有学习计算机的人读一读了。


经典书,通信系统软件开发必备。


计算机经典好书啊,正版,当时搞活动五折买的,喜欢,内容也很,有帮助


快递的速度超烂,上帝很生气!
书就不用说了,经典之作,堪称句句经典,翻译的也很棒!


经典,经典,经典,经典,不会让你一夜成为专家,但终究会让你成为专家


经典之作,物流给力


纸质的到底比电子版的看起来心里踏实些,不愧是经典之作,看了挺受用的!!


经典之作,不用多说


经典之作,怎能不读。。


经典之作,翻译的不是很好,有点别扭


包装还行,经典之作,从来都买正版


对如此经典之作,任何评价都是多余的。


内容经典,书的纸张好


经典的一本书 书的质量还可以


这本书内容详尽,是不可多得的书籍


对做linux方面的工程师说的话,还是不错的一本书,特别是想深入学习的


太经典了,内容不用多说,纸张很好


很好,只是书太厚,内容很多,只能先作为参考书看了。


是本好书,值得深入研究!


里面的内容非常充实,纸张也很不错
值得购买!


买书从来没觉得这么开心过,太棒了,永远推荐这本书


经典的一本书,程序员值得拥有!


这本书确实不错,经典。。。


听人推荐的书,还没详细看。


经典书籍,值得好好研究和实践


经典书啊,降价时买的,备用着,方便查看


经典书,不用说了,常备的


经典书,先收藏了慢慢看


很经典的书,也很实惠


书很经典。就是好厚啊


这是公认的经典的书


书的包装质量都不错,一本经典的书


是我要的书,很好看,经典的书很不错。


经典的书,以备不时之需


书是必须读经典的


非常经典的书,学习一下


适合看完linux程序设计之后接着看。路漫漫呀


属于进阶级人员看的书了,没有基础的话建议先从APUE看起。另外据说这本书看英文原版的更佳。(当当给的书的书角有些褶皱,算是美中不足)


这本书找了好久了。包装完整。好多地方没得卖。


经典中的经典,错不了。


很经典的工具书,正在学习中


相关图书