欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Linux网络编程(第3版)/Linux典藏大系
      • 作者:编者:宋敬彬|责编:王中英
      • 出版社:清华大学
      • ISBN:9787302660514
      • 出版日期:2024/04/01
      • 页数:619
    • 售价:63.6
  • 内容大纲

        本书是获得大量读者好评的“Linux典藏大系”中的一本。本书第1、2版出版后得到了大量读者的好评,曾经多次印刷并得到了ChinaUnix技术社区的推荐。本书全面、系统、深入地介绍Linux网络编程的相关知识,涉及面很广,从编程工具和环境搭建,到高级技术和核心原理,再到项目实战,几乎涵盖Linux网络编程的所有重要知识点。本书提供教学视频、思维导图、教学PPT和习题参考答案等超值配套资料,可以帮助读者高效、直观地学习。
        本书共20章,分为4篇。第1篇“Linux网络开发基础知识”,涵盖Linux操作系统概述、Linux编程环境、文件系统概述,以及程序、进程和线程等相关知识;第2篇“Linux用户层网络编程”,涵盖TCP/IP族概述、应用层网络服务程序概述、TCP网络编程基础知识、服务器和客户端信息获取、数据的I/O及其复用、基于UDP接收和发送数据、高级套接字、套接字选项、原始套接字、服务器模型、IPv6基础知识等;第3篇“Linux内核网络编程”,涵盖Linux内核层网络架构和netfilter框架的报文处理;第4篇“综合案例”,介绍3个网络编程综合案例的实现,包括一个简单的Web服务器SHTTPD的实现、一个简单的网络协议栈SIP的实现和一个简单的防火墙SIPFW的实现。
        本书内容丰富,讲解深入,适合想全面、系统、深入学习Linux网络编程的人员阅读,尤其适合Linux网络开发工程技术人员和基于Linux平台的网络程序设计人员作为参考读物。
  • 作者介绍

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

    第1篇  Linux网络开发基础知识
      第1章  Linux操作系统概述
        1.1  Linux的发展历史
          1.1.1  Linux的诞生和发展
          1.1.2  Linux名称的由来
        1.2  Linux的发展要素
          1.2.1  UNIX操作系统
          1.2.2  Minix操作系统
          1.2.3  POSIX标准
        1.3  Linux与UNIX的异同
        1.4  常见的Linux发行版本和内核版本的选择
          1.4.1  常见的Linux发行版本
          1.4.2  内核版本的选择
        1.5  Linux系统架构
          1.5.1  Linux内核的主要模块
          1.5.2  Linux的文件结构
        1.6  GNU通用公共许可证
          1.6.1  GPL许可证的发展历史
          1.6.2  GPL的自由理念
          1.6.3  GPL的基本条款
          1.6.4  关于GPL许可证的争议
        1.7  Linux软件开发的可借鉴之处
        1.8  小结
        1.9  习题
      第2章  Linux编程环境
        2.1  编辑器
          2.1.1  Vim简介
          2.1.2  使用Vim建立文件
          2.1.3  使用Vim编辑文本
          2.1.4  Vim的格式设置
          2.1.5  Vim的配置文件.vimrc
          2.1.6  使用其他编辑器
        2.2  GCC编译器工具集
          2.2.1  GCC简介
          2.2.2  编译程序基础知识
          2.2.3  将单个文件编译成可执行文件
          2.2.4  生成目标文件
          2.2.5  多文件编译
          2.2.6  预处理
          2.2.7  编译成汇编语言
          2.2.8  生成并使用静态链接库
          2.2.9  生成动态链接库
          2.2.10  动态加载库
          2.2.11  GCC的常用选项
          2.2.12  搭建编译环境
        2.3  Makefile文件简介
          2.3.1  多文件工程实例
          2.3.2  多文件工程的编译
          2.3.3  Makefile的规则
          2.3.4  在Makefile中使用变量

          2.3.5  搜索路径
          2.3.6  自动推导规则
          2.3.7  递归调用
          2.3.8  Makefile中的函数
        2.4  GDB调试工具
          2.4.1  编译可调试程序
          2.4.2  使用GDB调试程序
          2.4.3  GDB的常用命令
          2.4.4  其他GDB程序
        2.5  小结
        2.6  习题
      第3章  文件系统概述
        3.1  Linux文件系统简介
          3.1.1  Linux的文件分类
          3.1.2  创建文件系统
          3.1.3  挂载文件系统
          3.1.4  索引节点
          3.1.5  普通文件
          3.1.6  设备文件
          3.1.7  虚拟文件系统
        3.2  文件的通用操作方法
          3.2.1  文件描述符
          3.2.2  打开文件函数open()
          3.2.3  关闭文件函数close()
          3.2.4  读取文件函数read()
          3.2.5  写文件函数write()
          3.2.6  文件偏移函数lseek()
          3.2.7  获得文件状态
          3.2.8  文件空间映射函数mmap()和munmap()
          3.2.9  文件属性函数fcntl()
          3.2.10  文件输入/输出控制函数ioctl()
        3.3  socket文件类型
        3.4  小结
        3.5  习题
      第4章  程序、进程和线程
        4.1  程序、进程和线程的概念
          4.1.1  程序和进程的区别
          4.1.2  Linux环境中的进程
          4.1.3  进程和线程
        4.2  进程产生的方式
          4.2.1  进程号
          4.2.2  fork()函数
          4.2.3  system()函数
          4.2.4  exec()族函数
          4.2.5  所有用户态进程的产生进程systemd
        4.3  进程间通信和同步
          4.3.1  半双工管道
          4.3.2  命名管道
          4.3.3  消息队列
          4.3.4  消息队列实例

          4.3.5  信号量
          4.3.6  共享内存
          4.3.7  信号
        4.4  Linux线程
          4.4.1  多线程编程实例
          4.4.2  线程创建函数pthread_create()
          4.4.3  线程结束函数pthread_join()和pthread_exit()
          4.4.4  线程的属性
          4.4.5  线程间的互斥
          4.4.6  线程的信号量函数
        4.5  小结
        4.6  习题
    第2篇  Linux用户层网络编程
      第5章  TCP/IP族概述
      第6章  应用层网络服务程序概述
      第7章  TCP网络编程基础知识
      第8章  服务器和客户端信息获取
      第9章  数据的I/O及其复用
      第10章  基于UDP接收和发送数据
      第11章  高级套接字
      第12章  套接字选项
      第13章  原始套接字
      第14章  服务器模型
      第15章  IPv6基础知识
    第3篇  Linux内核网络编程
      第16章  Linux内核层网络架构
      第17章  netfilter框架的报文处理
    第4篇  综合案例
      第18章  一个简单的Web服务器SHTTPD的实现
      第19章  一个简单的网络协议栈SIP的实现
      第20章  一个简单的防火墙SIPFW的实现