Linux网络编程

出版时间:2010-1  出版社:清华大学出版社  作者:宋敬彬,孙海滨 等编著  页数:690  
Tag标签:无  

前言

  Linux操作系统已经成为目前最流行的开源操作系统,在服务器、嵌入式系统有着广泛的应用,并且逐步走入个人电脑的桌面操作系统。Linux的网络程序设计在服务器领域、嵌入式领域有着广泛的应用。例如Web服务器、P2P应用、嵌入式网络机顶盒、IPTV机顶盒、手持设备等,上述产品大部分采用了开源的Linux系统。因此,熟悉并且能够编写网络程序代码,构建自己的网络架构程序是十分重要的。  本书全面地介绍了Linux的网络编程技术,并以实例介绍了Linux的应用层网络设计、网络协议栈的实现原理和Linux内核防火墙的技术。学完本书之后,读者可以有编写比较复杂项目的本领。  本书的特点  1.循序渐进,由浅入深  为了方便读者学习,本书首先介绍Linux的开发环境,然后介绍基本的网路程序设计方法,再进行Linux内核的网络设计方法。最后,通过3个综合案例,综合运用上述知识,让读者更深刻地了解网络程序设计的知识。在每一部分的介绍中都是按照由浅入深的方式进行介绍,先介绍基础知识,再结合高级知识进行介绍。  2.技术全面,内容充实  本书基本涵盖了Linux网络程序设计的所有知识面,特别对于高级网络编程、原始套接字等高级应用层网络程序设计给出了全面的介绍和丰富的例子程序。除了用户界面的网络程序设计外,本书还对内核空间的网络程序设计进行了详细的介绍,针对netfilter框架,做了很细致的讲解,并给出了一个全面使用netfilter框架的案例方便读者深入了解。  3.对比讲解,理解深刻  由于Linux程序设计的知识用于空间和内核空间的代码和模块是相互作用的,在多个主要函数介绍过程中,本书对用户空间和内核空间进行交互式的对比介绍,使读者在了解如何使用的情况下,更深入地了解为什么这样用,“知其然并知其所以然”。  4.案例精讲,深入剖析  根据本人多年的项目经验,只有实际接触案例和代码才能够对知识点更深入地了解。本书在介绍了Linux网络程序设计知识点的基础上,通过具有典型意义的3个案例,对各个知识点包括应用层的HTTP协议的Web服务器、协议栈原理的协议栈案例和内核网络的防火墙案例进行了深入剖析。  本书的内容  第1章:为了方便读者对Linux历史文化的了解,这一章从Linux的发展历史、发展要素、发行版本和内核的选择、架构、GPL许可证等几个方面向读者介绍Linux操作系统。  第2章:比较详细地介绍了在Linux环境下进行软件开发所必须的几个方面,包括Linux环境下的编辑器、GCC编译器、Makefile的编写、如何使用GDB进行程序调试等。  第3章:介绍了Linux下的文件系统的概念以及如何使用文件相关函数进行文件操作,通过本章读者可以掌握文件编程。  第4章:对Linux下进程、线程以及之间的通信方法进行了详细的介绍。内容包含进程和线程的概念、进程的产生方式、进程间的IPC通信、Linux下的线程及通信方法。  第5章:重点介绍了TCP/IP的模型和多个主要的协议类型,并对IP地址的概念进行了介绍,最后简单介绍了字节序的概念。  第6章:介绍了用户空间的网络协议,包含HTTP协议、FTP协议、NFS协议和TELNET协议,最后介绍了如何利用xinetd定义自己的网络服务。  第7章:重点介绍了TCP网络程序设计的基础知识,包括套接字地址结构、TCP网络程序流程。对套接字编程的主要函数进行了介绍,并提供了一个简单的例子。

内容概要

Linux是目前最流行的开源操作系统,网络功能在Linux下占有核心的地位。本书循序渐进地从应用层到Linux内核、从基本知识点到综合案例,向读者介绍如何在Linux下进行网络程序设计。本书内容分为4个部分:Linux程序设计基础部分、Linux用户空间网络编程部分、Linux内核网络编程部分以及综合案例部分。内容包含Linux系统概述、Linux编程环境、Linux文件系统简介、Linux下的进程和线程、TCP/IP协议族、应用层网络服务程序、TCP编程、主机信息获取、数据IO复用、UDP编程、高级套接字、套接字选项、原始套接字、服务器模型、IPv6、Linux内核网络部分结构及分布、netfilter框架内报文处理。为了方便读者学习,本书最后一个部分介绍了3个综合案例,包括应用层的Web服务器例子、简单的应用层网络协议站例子和内核层网防火墙的例子。    本书适合广大的Linux平台下的网络程序设计人员和大中专院校学生阅读,尤其是有一定Linux基础知识的编程技术人员。

作者简介

宋敬彬,海信集团国家重点实验室高级工程师。海信数字家庭原型系统的主要设计及实现人员。有十多年的Linux编程经验,对Linux内核和网络协议栈十分熟悉。长期从事嵌入式Linux设备、机顶盒产品、IGRS设备互联的研究和开发工作。目前主要从事数字家庭系统的设计和实现。曾经在技术期刊上发表过多篇技术论文。曾经参加过国家863高性能集群服务器、电子发展基金的IPv6等项目的研究和开发。

书籍目录

第1篇  Linux网络开发基础  第1章  Linux操作系统概述	  第2章  Linux编程环境	  第3章  文件系统简介	  第4章  程序、进程和线程	第2篇  Linux用户层网络编程  第5章  TCP/IP协议族简介	  第6章  应用层网络服务程序简介	  第7章  TCP网络编程基础	  第8章  服务器和客户端信息的获取	  第9章  数据的IO和复用	  第10章  基于UDP协议的接收和发送	  第11章  高级套接字	  第12章  套接字选项	  第13章  原始套接字	  第14章  服务器模型选择	  第15章  IPv6简介	第3篇  Linux内核网络编程  第16章  Linux内核中网络部分结构以及分布	  第17章  netfilter框架内报文处理	第4篇  综合案例  第18章  一个简单Web服务器的例子SHTTPD	  第19章  一个简单网络协议栈的例子SIP	  第20章  一个简单防火墙的例子SIPFW

章节摘录

  Linux操作系统的名称最初并没有被称做Linux。Linus给他的操作系统取的名字是Freax,这个单词的含义是怪诞的、怪物、异想天开的意思。当Torvalds将他的操作系统上传到服务器ftp.funet.fi上的时候,这个服务器的管理员Ari Lemke对Freax这个名称很不赞成,所以将操作系统的名称改为了Linus的谐音Linux,于是这个操作系统的名称就以Linux流传下来。  在Linus的自传Oust for Fun))一书中,Linus解释说:“Ari Lemke,他十分不喜欢Freax这个名字。倒喜欢我当时正在使用的另一个名字Linux,并把我的邮件路径命名为pubOS/Linux。我承认我并没有太坚持。但这一切都是他搞的。所以我既可以不惭愧地说自己不是那么以个人为中心,但是也有一点个人的荣誉感。而且个人认为,Linux是个不错的名字。”实际上,在早期的源文件中仍然使用Freax作为操作系统的名字,可以从Makefile文件中看出此名称的一些蛛丝马迹。

编辑推荐

  感谢ChinaUnix.nef技术社区对本系列图书的支持!  China Unix.net是一个以讨论操作系统、软件开发、数据库技术、网络技术及服务器存储等技术为主的大型lT技术社区网站。China Unix.net的宗旨是给所有爱好IT技术、开源技术的朋友提供一个自由、开放和免费的交流空间。China Unix.netAO目标是建成中国最好的开源技术共享社区,为宣传和推动开源技术及自由软件在中国的应用发展做出贡献。China Unix.net的网址为:http://www.chinaunix.net。  内容全面:全书涵盖Linux网络编程从基础到高级开发的方方面面  内容深入:重点讲解了技术性较强的Linux用户空间网络编程及内核网络编程  注重原理:对每个知识点都从原始概念和基本原理进行详细、透彻地分析  插图丰富:对比较复杂和难度较高的内容绘制了220余幅原理图进行讲解  代码经典:书中的示例代码大多是从实际项目总结而来,有很强的实用性  实践性强:贯穿450余个示例、70余个实例及3个案例进行讲解  案例典型:详细介绍了HTTP网络服务器、协议栈和防火墙的实现  资深程序员十年经验总结,深入探讨Linux应用层和内核层的网络编程  详细讲解HTTP服务器、协议栈和防火墙三个典型案例的实际开发过程  一线技术人员全力打造,分享Linux技术盛宴!《Linux网络编程》重点内容及特色  《Linux网络编程》是一本全面、系统、深入介绍Linux网络编程的技术宝典。涉及Linux网络编程基础用户空间网络编程、Linux内核网络编程及Linux网络编程典型案例。  《Linux网络编程》基本涵盖了Linux网络编程的所有知识点,尤其对高级网络编程、原始套接字等高级应用层网络程序设计进行了深入介绍,并给出了丰富的例程。  《Linux网络编程》不仅介绍了用户界面的网络程序设计,还对内核空间的网络程序设计进行了详细的介绍。对netfilter框架进行了很细致的讲解,并给出了一个全面使用netfilter框架的案例。  《Linux网络编程》在对多个主要函数进行介绍时,对用户空间和内核空间的相互作用进行了对比介绍,便于者不仅了解如何使用它们,而且可以更加深入地理解为何这样用,做到知其然并知其所以然,  《Linux网络编程》最后提供的三个典型案例来源于作者的实际项目:总结了应用层的web服务器开发、简单的应用层网络协议栈开发及内核层的网络防火墙开发,可极大地提升读者的应用开发水平。  《Linux网络编程》作者长期致力于Linux网络程序设计,对Linux网络编程有独到的见解和深入的理解。《Linux网络编程》全面总结了他们对Linux网络编程的理解及大量的实践经验,充满了思想的火花。  一线技术人员全力打造,分享Linux技术盛宴!  《Linux网络编程》读者对象  想全面学习Linux网络编程的人员  想深入学习Linux网络编程的人员  想从事Linux嵌入式开发的人员  需要一本案头必备手册的程序员  大中专院校的相关学生  相关社会培训班的学员  其他Linux网络编程爱好者  获取PPT提示  《Linux网络编程》适合培训机构和大中专院校作为教材使用。为了方便教学,《Linux网络编程》专门配备了教学PPT。需要的老师请发电子邮件至bookservice2008@163.com索取。索取时请提供身份信息。  源代码下载提示  《Linux网络编程》所有源代码请到清华大学出版社的网站(www.tup.com-cn)上下载。请先在主页上的搜索栏中输入书名搜索到《Linux网络编程》页面,然后找到下载信息下载即可。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Linux网络编程 PDF格式下载


用户评论 (总计53条)

 
 

  •   很好的一本书,详细地介绍了linux系统下的网络开发,由浅入深,先讲应用层的开发,然后讲内核层的东西,大量的实例代码让学习事半功倍,很适合初学者,也适合想深入了解网络编程的人员。唯一不足的是,没有配套的视频教程,书中有些细微的小错误,不过这并不影响整体质量。
  •   书不错,我刚看了,比其它的好处在于例子多,而且讲解的比较好,所以适合编程,而且此书的逻辑很不错,很值得推荐,尤其是对于刚开始Linux网络编程的同志们,这本书适合你。
  •   对于Linux操作系统,相信许多工科学生都不会陌生,但是要想在它上面进行软件开发,你真的是因该找点有价值的参考书籍看看。而这本Linux网络编程就不错,看的很过瘾。
  •   Linux网络编程(Linux典藏大系) 网络编程 就这本好些
  •   送书及时。内容丰富!我刚开始学Linux网络编程
  •   经典图书,值得一看,学习网络必备,学习linux理想书目
  •   深入学习linux的一本基本的、入门书籍,Linux典藏大系的书,值得看看。
  •   对linux变成有了更深的理解
  •   对网络的理解很有帮助
  •   对于想从事协议软件开发的人来说时一本很好的入门资料,比较系统
  •   偶尔有些别字,不过不影响阅读,不同的书适合不同的人群,这本书适合初学者,也适合一些没有耐心读书收的人,这本书例子比较多,相对容易读懂。我认为比有些经典的书好多了,看过几本经典的书,老感觉全是文字,满篇都是文字,例子不多,而且意思晦涩难懂,明明简单的意思,非要表达得这么复杂,一句话都要读几扁才能读懂,读懂这句的时候前面的又忘了。分明是在装逼,有些买书的也在装逼,我是说有些,不是说所有。听人家说是经典的书就买,而且只买经典的,买来也看不懂,要不就不看,放那里存者,然后告诉别人这些是好书,推荐别人也买,结果就是恶性循环。所以,不一定一定要买经典的书,所有的书内容都是大同小易,只要适合自己的阅读方式,就买。国外经典的书,如果能看懂英文就买英文吧,中文有些翻译得实不敢恭维,不过你考过英语做过英语翻译的同学应该可以理解的,翻译出来就这样了。
  •   里面的例子虽然有些我在网上看过,但论述得不错,有理论也有实际代码,很合入门看.
  •   这本书内容翔实,题中还有大量的图作为说明,是适合初学者阅读以及专业人员查询的一本好书!
  •   详细意味要花很多时间看,自己编译运行代码都需要时间,读者可以选择性地看。
  •   此书可以把读者领进门,但之后的修行要靠自身了。
  •   比较实用,但是比较简单
  •   这本书本来是从图书馆那里借看的,看了发现不错就买了
  •   图书馆没有这本书,还是自己买。
  •   书很不错老公说很有用
  •   买了几本,还有优惠,速度快
  •   当当网送货速度好像提升了不少,嘿嘿!
  •   不错!!!很好!!!
  •   真心需要,真心需要,真心需要,真心需要
  •   学习网络编程的经典书籍,Linux入门...
  •   觉得书名跟内容还是有点对不上,既然书名是网络编程,那前面那些章节根本没必要讲,直接进入主题,全讲网络编程就OK,前面那些基本用不上
  •   只是可以从哪里找到里面的程序呢
  •   大概看了一下!内容还可以吧跟介绍的一样。就是的去指定的网站才能下代码。。。。。。书还可以我给4星!
  •   内容详略得当,但是有很多的错别字,但是不影响阅读。有有些内容涉及的很浅,比如epoll模型说的很少,总体来说不错!
  •   买回来看了看内容不错,很有深意。
  •   挺好的,,该讲的都讲了
  •   讲的挺明白的
  •   非常不错!看了之后茅塞顿开。
  •   错误太多,没一点网络思想
  •   内容讲解的还算可以,书内错字很多,现在看到进程那章已经发现了十几个错字,包括代码。
  •   这本书算是好书,内容很全。但如果你是初学者就不要买了,
  •   这本书之前看过@!总体感觉还行,值得一看!不过当当的物流速度有点让人难等,如果物流在快一点就好了!
  •   仔细一看,内容一般,有个别章节参考价值
  •   错别字也太多了吧,不知道是编辑问题还是作者问题,总得好好审稿吧,一堆人编了个书,还这么多错误,还多次进行文字校对。
  •   书上的知识都差不多。错别字太多了,很容易误导初学者
  •   是正版的,便宜
  •   发现写书的人,没有一句是自己的话,全是抄袭的,并且错别字也很多。
  •   越看越看不下去,一堆错误,字印错也就算了吧,内容也有问题,不知道编者有没有好好审稿,还是只让自己的研究生编一下了事,很多话都不通
  •   这书内容不咋地
  •   前面写评论的那些人,你们到底看过书没?读书加工作这么多年来,这书是我见过的错别字最多的书了,随便翻一页都有找到超过3%的错误,居然连图都TM能画错。。。概念也说得不清不楚的,太浮躁和功利了,很明显有骗钱的嫌疑,徒有其表,真砸了ChinaUnix的牌子了!!!
  •   书不错~~~正在看~~~~
  •   网络编程
  •   常备书籍
  •   书没有折过的痕迹
  •   很好的书,满意
  •   适合linux网络编程
  •   适合手动直接写代码,没啥理论
  •   总体质量还可以
  •   China Unix.net是一个
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7