注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计其他编程语言/工具Linux网络编程

Linux网络编程

Linux网络编程

定 价:¥46.00

作 者: 林宇,郭凌云编著
出版社: 人民邮电出版社
丛编项:
标 签: UNIX操作系统 程序设计

购买这本书可以去


ISBN: 9787115087669 出版时间: 2000-01-01 包装: 胶版纸
开本: 26cm 页数: 508 字数:  

内容简介

  本书比较完整地介绍了Linux网络编程的知识。全书共分成四篇:基础知识篇、初级应用篇、应用提高篇和高级编程篇。在第一篇(第一至三章)中,介绍了Linux最基本的概念:文件系统和进程系统,对这两个概念进行了比较深入的说明和分析。在第二篇(第四至八章)中,主要讲述网络应用的基础,介绍了基本套接字编程、输入/输出的基本模型、带外数据的发送和接收以及服务器编程的模型、TCP/UDP编程比较等。在第三篇(第九至十二章)中,主要讲述如何构造网络应用,介绍了高级套接字函数的使用及如何编写守护进程、如何传递复杂的数据结构、如何编写RPC应用。在第四篇(第十三至十六章)中,侧重于服务器性能的提高,介绍了服务器的预创建技术、使用UNIX套接字来实现父进程对子进程的动态管理、多线程编程,并在最后列举了一个较完整的网络应用实例。本书主要读者对象为网络编程人员,对于网络编程的初学者可以阅读全书,对于具有一定网络编程经验的读者可以有选择地阅读本书相关章节。

作者简介

暂缺《Linux网络编程》作者简介

图书目录

第一篇 基础知识篇</font><br>第一章 文件系统和进程系统</font><br>1.1 文件系统</font><br>1.1.1 文件系统的总体结构</font><br>1.1.2 文件结构和目录结构</font><br>1.2 文件系统的相关编程</font><br>1.3 进程系统</font><br>1.3.1 进程的概念</font><br>1.3.2 Linux中描述进程的核心数据结构</font><br>1.3.3 和进程相关的系统调用</font><br>本章小结</font><br>第二章 进程间通信和同步</font><br>2.1 信号的处理</font><br>2.1.1 Linux中支持的信号</font><br>2.1.2 信号的捕获和处理</font><br>2.1.3 系统调用和信号的相互作用</font><br>2.1.4 pause和suspend函数</font><br>2.2 信号量</font><br>2.2.1 进程间的互斥</font><br>2.2.2 信号量的结构和信号量操作函数</font><br>2.2.3 应用示例</font><br>2.3 消息队列</font><br>2.3.1 消息队列的结构</font><br>2.3.2 消息队列的操作函数</font><br>2.3.3 应用示例</font><br>2.4 共享内存</font><br>2.4.1 共享内存的操作函数</font><br>2.4.2 应用示例</font><br>本章小结</font><br>第三章 TCP/IP协议</font><br>3.1 OSI参考模型、协议和服务</font><br>3.2 协议和服务</font><br>3.2.1 TCP/IP</font><br>3.2.2 TCP和UDP的比较</font><br>3.2.3 Internet上两主机进程间通信数据的封装和解包</font><br>3.2.4 IP地址、网络地址和网络掩码</font><br>3.2.5 传输层端口</font><br>3.3 域名系统</font><br>3.4 域名解析和名字服务器</font><br>3.4.1 TCP协议</font><br>3.4.2 TCP的确认和超时重发机制</font><br>3.4.3 TCP头部格式 (Header Format)</font><br>3.4.4 TCP连接的状态转移过程</font><br>3.5 IP数据包格式</font><br>3.6 Internet消息控制协议</font><br>本章小结</font><br>第二篇 初级应用篇</font><br>第四章 基本套接字编程实践</font><br>4.1 基本套接字函数族</font><br>4.1.1 socket编程的基本流程</font><br>4.1.2 函数socket</font><br>4.1.3 函数connect</font><br>4.1.4 函数bind</font><br>4.1.5 函数listen</font><br>4.1.6 函数accept</font><br>4.1.7 函数read和write</font><br>4.1.8 函数close</font><br>4.2 应用示例</font><br>4.3 程序结果和异常说明</font><br>4.3.1 程序的运行结果</font><br>4.3.2 程序的异常</font><br>本章小结</font><br>第五章 无阻塞套接字和单进程轮询服务器</font><br>5.1 无阻塞套接字</font><br>5.1.1 阻塞套接字的缺点</font><br>5.1.2 阻塞和无阻塞的比较</font><br>5.1.3 无阻塞的实现</font><br>5.2 单进程轮询服务器工作方式</font><br>5.3 应用示例</font><br>5.3.1 应用说明</font><br>5.3.2 应用源码</font><br>第六章 带外数据与多路复用、信号驱动的输入/输出模型 </font><br>6.1 多路复用的输入/输出模型</font><br>6.1.1 多路复用模型的概念与select函数</font><br>6.1.2 应用示例</font><br>6.1.3 pselect函数对select的增强</font><br>6.2 信号驱动的输入/输出模型</font><br>6.3 系统I/O模型的总结</font><br>6.4 带外数据</font><br>6.4.1 带外数据的发送</font><br>6.4.2 带外数据的接收</font><br>6.4.3 带外数据接收方法的示例</font><br>本章小结</font><br>第七章 UDP数据报</font><br>7.1 UDP数据报的概述</font><br>7.2 UDP通信的过程</font><br>7.3 UDP的服务器和TCP服务器的比较</font><br>7.4 UDP的"连接"</font><br>7.5 应用示例</font><br>本章小结</font><br>第八章 域名系统和通用套接字选项</font><br>8.1 域名系统</font><br>8.1.1 域名系统的回顾</font><br>8.1.2 通过地址获取主机信息</font><br>8.1.3 通过主机名获取主机信息</font><br>8.1.4 获取本地主机的信息</font><br>8.1.5 通过服务名获取服务端口</font><br>8.1.6 通过端口号获取服务名</font><br>8.2 套接字选项</font><br>8.2.1 获取和设置套接字选项</font><br>8.2.2 通用套接字选项</font><br>本章小结</font><br>第三篇 应用提高篇</font><br>第九章 高级套接字函数编程实践</font><br>9.1 函数recv和send</font><br>9.1.1 函数send</font><br>9.1.2 函数recv</font><br>9.1.3 应用示例</font><br>9.1.4 应用源码和分析</font><br>9.2 函数readv和writev</font><br>9.2.1 函数说明</font><br>9.2.2 应用示例</font><br>9.3 函数recvmsg和sendmsg</font><br>本章小结</font><br>第十章 守护进程和超级服务器inetd</font><br>10.1 守护进程的原理</font><br>10.2 编程实践</font><br>10.3 超级服务器inetd的工作原理</font><br>10.3.1 超级服务器的概念</font><br>10.3.2 超级服务器使用的配置文件</font><br>10.3.3 inetd处理并发服务的过程</font><br>本章小结</font><br>第十一章 数据结构的传输和XDR标准</font><br>11.1 数据结构的传送</font><br>11.1.1 数据结构传送的问题</font><br>11.1.2 简单的示例</font><br>11.2 XDR标准</font><br>11.2.1 XDR中包含的数据类型</font><br>11.2.2 XDR实现的原理</font><br>11.2.3 XDR的转换函数库</font><br>本章小结</font><br>第十二章 RPC远程过程调用原理和实践</font><br>12.1 RPC的原理</font><br>12.1.1 XDR的更进一步</font><br>12.1.2 本地函数调用的过程</font><br>12.1.3 用远程调用来虚拟本地调用</font><br>12.2 RPC的实现</font><br>12.2.1 远程过程的标识</font><br>12.2.2 端口的动态映射</font><br>12.2.3 RPC的报文</font><br>12.2.4 RPC开发工具</font><br>12.2.5 设计的原则</font><br>12.3 应用示例:网络记事本</font><br>12.3.1 编写本地应用</font><br>12.3.2 Rpcgen构建RPC应用</font><br>12.3.3 编写RPC说明文件</font><br>12.3.4 修改客户端程序</font><br>12.3.5 修改服务器端程序</font><br>12.3.6 调用的完整过程</font><br>12.3.7 程序的结果、分析和总结</font><br>本章小结</font><br>第四篇 高级编程篇</font><br>第十三章 UNIX域套接字和并发服务器的预创建技术</font><br>13.1 UNIX域套接字</font><br>13.1.1 UNIX域的地址结构</font><br>13.1.2 UNIX套接字使用的示例</font><br>13.1.3 传递文件描述符</font><br>13.2 并发服务器的预创建技术</font><br>13.2.1 预创建固定服务器进程的数量</font><br>13.2.2 动态的管理子进程</font><br>13.2.3 重用服务器子进程</font><br>本章小结</font><br>第十四章 原始套接字编程实践</font><br>14.1 原始套接字</font><br>14.1.1 原始套接字的创建</font><br>14.1.2 原始套接字的使用</font><br>14.1.3 IP包头和ICMP报文的C语言描述</font><br>14.2 ping应用程序</font><br>14.2.1 程序设计</font><br>14.2.2 程序源码</font><br>14.3 IP套接字选项</font><br>14.3.1 IP_TTL选项</font><br>14.3.2 IP_TOS选项</font><br>14.3.3 IP_OPTIONS选项</font><br>14.3.4 IP_HDRINCL选项</font><br>本章小结</font><br>第十五章 多线程编程</font><br>15.1 线程的概念</font><br>15.1.1 线程的概念</font><br>15.1.2 线程的分类</font><br>15.1.3 线程的创建和等待函数</font><br>15.1.4 线程的属性函数</font><br>15.2 线程间的同步</font><br>15.2.1 无名信号量</font><br>15.2.2 互斥锁、条件变量和条件信号</font><br>15.2.3 线程和信号</font><br>15.3 在网络程序中应用多线程</font><br>15.3.1 线程间参数的传递</font><br>15.3.2 线程安全函数的设计</font><br>15.3.3 多进程的并发服务器和多线程的并发服务器</font><br>15.3.4 客户端进程的多线程化</font><br>本章小结</font><br>第十六章 网络售票系统的简单模拟</font><br>16.1 系统的总体设计</font><br>16.1.1 应用的说明</font><br>16.1.2 数据格式的设计</font><br>16.1.3 服务器端的设计</font><br>16.1.4 客户端的设计</font><br>16.2 程序源码和解析</font><br>16.2.1 服务器端的源码</font><br>16.2.2 客户端的源码</font><br>本章小结

本目录推荐