书籍详情
Unix网络编程实用技术与实例分析
作者:张炯编著
出版社:清华大学出版社
出版时间:2002-11-01
ISBN:9787302058915
定价:¥32.00
购买这本书可以去
内容简介
本书详细介绍了在Unix环境下网络编程的方法,全书分为四部分:第一部分“网络基础”主要讲述TCP/IP协议簇,尤其是与编程相关的部分,并说明了网络编程环境:第二部分“套接字”是网络编程的核心,在此通过讲解套接字库函数、TCP套接字、UDP套接字及相应的实例,使读者能够编写基本的网络程序:第三部分“Unix网络编程实用技术”是本书的重点,讲述Unix网络开发过程中常用的技术,如并发服务器技术、名字和IP地址转换、同步及进程间通信技术、异常处理技术、实用套接字类库的创建,说明如何提高软件的性能、可靠性和可扩充性,并配有大量实例予以说明;第四部分“高级网络编程”主要涉及底层IP编程技术,可用于路由器、网络监视器及专用协议的开发,介绍了守护进程、原始套接宇、数据链路访问、多接日捆绑及路由套接字技术。本书涉及的内容包括Unix系统、网络协议及编程技术,并由浅入深地讲述了网络编程核心技术、实用技术和高级网络编程。本书既是从事网络开发人员的参考资料,也可以作为学习Unix网络编程知识的教材。
作者简介
暂缺《Unix网络编程实用技术与实例分析》作者简介
目录
第一部分 网络基础
第1章 Unix系统基础
1.1 Unix系统概述
1.1.1 Unix系统的历史
1.1.2 Unix系统的特点
1.1.3 UniX系统的体系结构
1.1.4 Unix系统的地址空间
1.1.5 POSIX标准
1.2 常用Unix网络命令
1.2.1 ping
1.2.2 netstat
1.2.3 ifconfig
1.2.4 route
1.2.5 tcpdump
1.3 网络基本配置文件
1.4 软件开发环境
1.4.1 vi编辑器
1.4.2 gcc编译器
1.4.3 gdb调试器
1.5 简单实例
1.5.1 源程序分析
1.5.2 实现过程
1.6 小结
第2章 TCP/IP
2.1 TCP/IP体系
2.2 IP协议
2.2.1 IP包的结构
2.2.2 IP地址组成
2.2.3 IP地址表示
2.2.4 IP地址类型
2.2.5 子网掩码
2.3 TCP协议
2.3.1 建立TCP连接
2.3.2 关闭TCP连接
2.3.3 TCP数据包结构
2.4 UDP协议
2.5 ICMP协议
2.6 端口号分配
2.6.1 端口分类
2.6.2 常用端口号
2.7 IP路由
2.7.1 路由表分类
2.7.2 IP路由过程
2.8 小结
第二部分 套接字
第3章 套接字基础
3.1 套接字概述
3.2 套接字类型
3.3 套接字地址结构
3.3.1 INET协议簇地址结构sockaddr_in
3.3.2 存储地址和端口信息的sockaddr
3.3.3 32位IPv4地址结构in_addr
3.4 端口
3.5 带外数据
3.6 连接类型
3.7 小结
第4章 TCP套接字
4.1 基本方法
4.1.1 TCP套接字实现过程
4.1.2 TCP服务器模板
4.1.3 TCP客户模板
4.2 实现TCP套接字
4.2.1 产生TCP套接字
4.2.2 绑定
4.2.3 监听
4.2.4 接受请求
4.2.5 连接建立
4.2.6 数据传输
4.2.7 终止连接
4.3 TCP套接字编程实例
4.3.1 实例说明
4.3.2 TCP服务器
4.3.3 TCP客户
4.3.4 运行程序
4.4 小结
第5章 UDP套接字
5.1 基本方法
5.1.1 UDP套接字实现过程
5.1.2 UDP服务器模板
5.1.3 UDP客户模板
5.2 函数说明
5.2.1 UDP套接字的数据发送——sendto()函数
5.2.2 UDP套接字的数据接收——recvfrom()函数
5.3 UDP套接字编程实例
5.3.1 UDP服务器
5.3.2 UDP客户
5.3.3 运行程序
5.4 小结
第三部分 Unix网络编程实用技术
第6章 并发服务器
6.1 并发服务器基础
6.1.1 服务器分类
6.1.2 重复性服务器实例
6.1.3 并发技术
6.1.4 并发服务器算法
6.2 多进程服务器
6.2.1 进程概念
6.2.2 创建过程
6.2.3 终止进程
6.2.4 多进程并发服务器
6.2.5 多进程并发服务器实例
6.3 多线程服务器
6.3.1 线程基础
6.3.2 线程函数调用(POSIX)
6.3.3 多线程并发服务器
6.3.4 给新线程传递参数
6.3.5 多线程并发服务器实例
6.3.6 线程安全(MT-safe)实例
6.4 I/O多路复用服务器
6.4.1 I/O模式
6.4.2 select()函数
6.4.3 单线程并发服务器实例
6.5 套接字终止处理
6.6 小结
第7章 名字和IP地址转换
7.1 名字解析
7.2 套接字地址
7.2.1 地址结构
7.2.2 字节顺序
7.2.3 IP地址转换函数
7.2.4 套接字地址信息函数
7.3 套接字信息函数
7.3.1 主机名转换为IP地址:gethostbyname()函数
7.3.2 IP地址转换为主机名:gethostbyaddr()函数
7.3.3 获得服务的端口号:getservbyname()函数
7.3.4 端口号转换为服务名:getservbyport()函数
7.4 小结
第8章 同步及进程间通信
8.1 线程同步
8.1.1 线程同步基础
8.1.2 互斥锁基础
8.1.3 加锁和解锁互斥锁
8.1.4 条件变量
8.1.5 同步线程退出
8.1.6 死锁
8.2 进程同步
8.2.1 进程关系
8.2.2 信号处理
8.2.3 处理僵死过程
8.3 进程间通信
8.3.1 管道
8.3.2 FIFO
8.3.3 消息队列
8.3.4 共享内存
8.3.5 信号量
8.4 小结
第9章 异常处理
9.1 异常处理基础
9.2 函数调用的错误处理
9.2.1 显示错误信息
9.2.2 定义错误处理函数
9.3 I/O超时处理
9.3.1 使用alarm()函数
9.3.2 使用select函数
9.4 服务器异常处理
9.4.1 异常处理的系统调用
9.4.2 服务器异常处理实例
9.5 客户异常处理
9.6 小结
第10章 创建实用套接字类库
10.1 创建静态链接库
10.1.1 创建库文件
10.1.2 建立库文件索引
10.1.3 连接库文件
10.2 创建动态链接库
10.2.1 创建库文件
10.2.2 使用动态链接库
10.2.3 相互引用的库文件
10.2.4 动态库与静态库并存
10.3 创建自定义的套接字类库
10.3.1 设计套接字类库
10.3.2 套接字系统调用:MySocket类
10.3.3 多线程实现:MyThresd类
10.3.4 加锁/解锁:MyMutex类和MyCondition类
10.3.5 基于TCP的多线程并发服务器:TcpServThr类
10.3.6 TCP多线程客户类:TcpCliThr类
10.4 实例分析
10.4.1 实现聊天室服务器
10.4.2 实现聊天室客户
10.4.3 运行程序
10.5 小结
第四部分 高级网络编程技术
第11章 守护进程
11.1 输出守护过程消息
11.1.1 syslogd进程
11.1.2 syslog()函数
11.1.3 closelog()函数
11.2 创建守护过程
11.2.1 守护进程的创建过程
11.2.2 创建守护过程的代码
11.3 配置守护进程
11.4 守护进程实例
11.5 小结
第12章 原始套接字
12.1 产生原始套接字
12.2 写原始套接字
12.3 读原始套接字
12.4 原始套接字实例
12.5 小结
第13章 数据链路访问
13.1 数据链路访问方法
13.1.1 BSD包过滤器
13.1.2 DLPI
13.1.3 SOCK_PACKET
13.1.4 libpcap
13.2 libpcap应用
13.2.1 libpcap库函数
13.2.2 libpcap数据结构
13.2.3 过滤程序
13.3 数据链路访问实例
13.4 小结
第14章 多接口设计
14.1 单个服务器绑定到多个接口
14.2 多个服务器绑定到多个接口
14.3 小结
第15章 路由套接字
15.1 创建路由套接字
15.2 读写路由套接字
15.3 读取路由信息
15.4 路由套接字实例
15.5 小结
第16章 简单路由器实例分析
16.1 设计专用路由器
16.2 实现专用路由器
16.2.1 捕获数据包:myCap类和myCapIP类
16.2.2 查询系统路由:myRoute类
16.2.3 发送IP包:myRaw类
16.2.4 封装串口通信:SerialComm类
16.2.5 处理专用数据传输网络协议:myDevice类
16.2.6 同时发送和接收:sendThr、recvThr和myRouter类
16.3 小结
附录A 套接字Wrapper类源程序
附录B 串口通信类源程序
第1章 Unix系统基础
1.1 Unix系统概述
1.1.1 Unix系统的历史
1.1.2 Unix系统的特点
1.1.3 UniX系统的体系结构
1.1.4 Unix系统的地址空间
1.1.5 POSIX标准
1.2 常用Unix网络命令
1.2.1 ping
1.2.2 netstat
1.2.3 ifconfig
1.2.4 route
1.2.5 tcpdump
1.3 网络基本配置文件
1.4 软件开发环境
1.4.1 vi编辑器
1.4.2 gcc编译器
1.4.3 gdb调试器
1.5 简单实例
1.5.1 源程序分析
1.5.2 实现过程
1.6 小结
第2章 TCP/IP
2.1 TCP/IP体系
2.2 IP协议
2.2.1 IP包的结构
2.2.2 IP地址组成
2.2.3 IP地址表示
2.2.4 IP地址类型
2.2.5 子网掩码
2.3 TCP协议
2.3.1 建立TCP连接
2.3.2 关闭TCP连接
2.3.3 TCP数据包结构
2.4 UDP协议
2.5 ICMP协议
2.6 端口号分配
2.6.1 端口分类
2.6.2 常用端口号
2.7 IP路由
2.7.1 路由表分类
2.7.2 IP路由过程
2.8 小结
第二部分 套接字
第3章 套接字基础
3.1 套接字概述
3.2 套接字类型
3.3 套接字地址结构
3.3.1 INET协议簇地址结构sockaddr_in
3.3.2 存储地址和端口信息的sockaddr
3.3.3 32位IPv4地址结构in_addr
3.4 端口
3.5 带外数据
3.6 连接类型
3.7 小结
第4章 TCP套接字
4.1 基本方法
4.1.1 TCP套接字实现过程
4.1.2 TCP服务器模板
4.1.3 TCP客户模板
4.2 实现TCP套接字
4.2.1 产生TCP套接字
4.2.2 绑定
4.2.3 监听
4.2.4 接受请求
4.2.5 连接建立
4.2.6 数据传输
4.2.7 终止连接
4.3 TCP套接字编程实例
4.3.1 实例说明
4.3.2 TCP服务器
4.3.3 TCP客户
4.3.4 运行程序
4.4 小结
第5章 UDP套接字
5.1 基本方法
5.1.1 UDP套接字实现过程
5.1.2 UDP服务器模板
5.1.3 UDP客户模板
5.2 函数说明
5.2.1 UDP套接字的数据发送——sendto()函数
5.2.2 UDP套接字的数据接收——recvfrom()函数
5.3 UDP套接字编程实例
5.3.1 UDP服务器
5.3.2 UDP客户
5.3.3 运行程序
5.4 小结
第三部分 Unix网络编程实用技术
第6章 并发服务器
6.1 并发服务器基础
6.1.1 服务器分类
6.1.2 重复性服务器实例
6.1.3 并发技术
6.1.4 并发服务器算法
6.2 多进程服务器
6.2.1 进程概念
6.2.2 创建过程
6.2.3 终止进程
6.2.4 多进程并发服务器
6.2.5 多进程并发服务器实例
6.3 多线程服务器
6.3.1 线程基础
6.3.2 线程函数调用(POSIX)
6.3.3 多线程并发服务器
6.3.4 给新线程传递参数
6.3.5 多线程并发服务器实例
6.3.6 线程安全(MT-safe)实例
6.4 I/O多路复用服务器
6.4.1 I/O模式
6.4.2 select()函数
6.4.3 单线程并发服务器实例
6.5 套接字终止处理
6.6 小结
第7章 名字和IP地址转换
7.1 名字解析
7.2 套接字地址
7.2.1 地址结构
7.2.2 字节顺序
7.2.3 IP地址转换函数
7.2.4 套接字地址信息函数
7.3 套接字信息函数
7.3.1 主机名转换为IP地址:gethostbyname()函数
7.3.2 IP地址转换为主机名:gethostbyaddr()函数
7.3.3 获得服务的端口号:getservbyname()函数
7.3.4 端口号转换为服务名:getservbyport()函数
7.4 小结
第8章 同步及进程间通信
8.1 线程同步
8.1.1 线程同步基础
8.1.2 互斥锁基础
8.1.3 加锁和解锁互斥锁
8.1.4 条件变量
8.1.5 同步线程退出
8.1.6 死锁
8.2 进程同步
8.2.1 进程关系
8.2.2 信号处理
8.2.3 处理僵死过程
8.3 进程间通信
8.3.1 管道
8.3.2 FIFO
8.3.3 消息队列
8.3.4 共享内存
8.3.5 信号量
8.4 小结
第9章 异常处理
9.1 异常处理基础
9.2 函数调用的错误处理
9.2.1 显示错误信息
9.2.2 定义错误处理函数
9.3 I/O超时处理
9.3.1 使用alarm()函数
9.3.2 使用select函数
9.4 服务器异常处理
9.4.1 异常处理的系统调用
9.4.2 服务器异常处理实例
9.5 客户异常处理
9.6 小结
第10章 创建实用套接字类库
10.1 创建静态链接库
10.1.1 创建库文件
10.1.2 建立库文件索引
10.1.3 连接库文件
10.2 创建动态链接库
10.2.1 创建库文件
10.2.2 使用动态链接库
10.2.3 相互引用的库文件
10.2.4 动态库与静态库并存
10.3 创建自定义的套接字类库
10.3.1 设计套接字类库
10.3.2 套接字系统调用:MySocket类
10.3.3 多线程实现:MyThresd类
10.3.4 加锁/解锁:MyMutex类和MyCondition类
10.3.5 基于TCP的多线程并发服务器:TcpServThr类
10.3.6 TCP多线程客户类:TcpCliThr类
10.4 实例分析
10.4.1 实现聊天室服务器
10.4.2 实现聊天室客户
10.4.3 运行程序
10.5 小结
第四部分 高级网络编程技术
第11章 守护进程
11.1 输出守护过程消息
11.1.1 syslogd进程
11.1.2 syslog()函数
11.1.3 closelog()函数
11.2 创建守护过程
11.2.1 守护进程的创建过程
11.2.2 创建守护过程的代码
11.3 配置守护进程
11.4 守护进程实例
11.5 小结
第12章 原始套接字
12.1 产生原始套接字
12.2 写原始套接字
12.3 读原始套接字
12.4 原始套接字实例
12.5 小结
第13章 数据链路访问
13.1 数据链路访问方法
13.1.1 BSD包过滤器
13.1.2 DLPI
13.1.3 SOCK_PACKET
13.1.4 libpcap
13.2 libpcap应用
13.2.1 libpcap库函数
13.2.2 libpcap数据结构
13.2.3 过滤程序
13.3 数据链路访问实例
13.4 小结
第14章 多接口设计
14.1 单个服务器绑定到多个接口
14.2 多个服务器绑定到多个接口
14.3 小结
第15章 路由套接字
15.1 创建路由套接字
15.2 读写路由套接字
15.3 读取路由信息
15.4 路由套接字实例
15.5 小结
第16章 简单路由器实例分析
16.1 设计专用路由器
16.2 实现专用路由器
16.2.1 捕获数据包:myCap类和myCapIP类
16.2.2 查询系统路由:myRoute类
16.2.3 发送IP包:myRaw类
16.2.4 封装串口通信:SerialComm类
16.2.5 处理专用数据传输网络协议:myDevice类
16.2.6 同时发送和接收:sendThr、recvThr和myRouter类
16.3 小结
附录A 套接字Wrapper类源程序
附录B 串口通信类源程序
猜您喜欢