| 作 者: | 张炯 |
| 出版社: | 清华大学出版社 |
| 丛编项: | 网络程序设计系列丛书 |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | UNIX |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第一部分 网络基础
第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 串口通信类源程序