1. 针对信创环境的网络编程书籍,基于多年教学实践,反复磨内容。 2. 注重工程实践。本书的内容中设计的发工具、技术等,与当前IT公司实际使用的主流发工具非常契合。 3. 本书配套资源丰富,包括 PPT、讲义、源代码,满足读者学习需要。
售 价:¥
纸质售价:¥63.10购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
前言
资源与支持
资源获取
提交勘误
与我们联系
关于异步社区和异步图书
第1章 信创平台概述
1.1 信创CPU简介
1.1.1 龙芯CPU
1.1.2 其他信创CPU
1.2 Linux及信创操作系统
1.2.1 Linux操作系统简介
1.2.2 Linux与Windows的差异
1.2.3 常见的Linux发行版
1.2.4 信创操作系统
第2章 龙芯信创平台
2.1 龙芯桌面计算机硬件平台
2.2 Loongnix操作系统
2.3 Loongnix操作系统使用入门
2.3.1 常用命令
2.3.2 应用软件安装与卸载
2.3.3 Vim编辑器基本使用方法
第3章 信创平台C语言编程环境
3.1 GCC与GDB
3.1.1 编译的基本概念
3.1.2 编译应用程序
3.1.3 编译静态链接库
3.1.4 编译动态链接库
3.1.5 使用GDB调试代码
3.2 Makefile基础
3.2.1 Makefile基本语法
3.2.2 使用变量与模式匹配
3.2.3 在Makefile文件中指定搜索路径
3.2.4 Makefile文件中基本函数的使用
3.2.5 简单的Makefile模板
3.3 CMake基础
3.3.1 CMake基本语法
3.3.2 使用CMake编译应用程序
3.3.3 使用CMake编译动态链接库
3.4 使用VSCode开发C程序
3.4.1 VSCode常用插件及设置
3.4.2 在VSCode中应用Makefile编译代码
3.4.3 在VSCode中使用CMake编译代码
3.4.4 VSCode中调试C程序的基本方法
3.4.5 在VSCode中应用代码规范格式化工具
第4章 使用Git管理代码
4.1 Git概述
4.1.1 Git代码版本控制概述
4.1.2 集中式和分布式版本控制系统
4.1.3 Git的基本结构
4.2 Git基本操作
4.2.1 Git安装与初始设置
4.2.2 保存代码到Git仓库
4.2.3 Git的基本工作流程
4.3 Git分支
4.3.1 分支的创建与切换
4.3.2 切换分支的注意事项
4.3.3 分支合并
4.3.4 分支变基
4.4 Git远程仓库和远程分支
4.4.1 远程仓库账户创建及密钥配置
4.4.2 创建远程仓库
4.4.3 使用变基重做
4.4.4 代码管理工作流程
第5章 网络编程基础
5.1 网络程序及其基本要素
5.2 网络通信协议
5.2.1 分层模型
5.2.2 TCP/IP
5.3 网络通信地址
5.3.1 MAC地址
5.3.2 IP地址
5.4 应用标识
5.4.1 端口号
5.4.2 端口号分配及常用端口号
5.5 进程的网络地址
5.5.1 三元组(半相关)
5.5.2 五元组(全相关)
5.6 网络程序的基本模式
5.6.1 客户端/服务器模式
5.6.2 浏览器/服务器模式
5.6.3 两种模式的对比
第6章 套接字编程
6.1 套接字概述
6.1.1 应用程序接口
6.1.2 发展历程
6.1.3 套接字通信的基础流程
6.2 编写“hello,world!”通信服务器程序
6.2.1 查询函数文档
6.2.2 创建套接字
6.2.3 绑定地址信息
6.2.4 建立套接字连接
6.2.5 发送消息
6.2.6 关闭套接字
6.3 编写“hello,world!”通信客户端程序
6.3.1 发送连接请求
6.3.2 接收消息
6.4 运行“hello,world!”程序
6.5 完善“hello,world!”程序
6.5.1 通过命令行输入服务器信息
6.5.2 优化错误处理
6.5.3 通过设置套接字选项解除地址被使用
6.5.4 循环实现服务器功能
6.5.5 使用shutdown()函数关闭套接字
6.5.6 使用多文件实现检错代码
6.6 编写TCP“回声”程序
6.6.1 “回声”的逻辑与实现
6.6.2 “回声”程序中的隐患——“粘包”
6.6.3 基于TCP的应用层协议设计
6.7 编写UDP“回声”程序
6.7.1 sendto()函数和recvfrom()函数
6.7.2 实现UDP的“回声”程序
6.7.3 UDP通信使用connect()函数注册地址信息
第7章 多线程网络程序
7.1 线程概述
7.1.1 操作系统、进程和线程之间的关系
7.1.2 进程和线程之间的关系
7.2 线程的创建与销毁
7.2.1 线程创建函数
7.2.2 线程销毁函数
7.3 线程同步方法
7.3.1 多线程同步问题
7.3.2 使用互斥量实现线程同步
7.3.3 使用信号量实现线程同步
7.4 编写多线程聊天室程序
7.4.1 使用多线程实现服务器的并发
7.4.2 实现转发消息到所有客户端
7.4.3 断开与对应客户端的连接
7.4.4 正确实现线程同步
7.4.5 实现聊天室客户端程序
7.4.6 代码优化
第8章 多进程网络程序
8.1 进程概述
8.1.1 进程ID
8.1.2 父进程和子进程
8.2 进程的创建与销毁
8.2.1 创建进程
8.2.2 销毁进程
8.2.3 进程退出
8.2.4 “僵尸”进程
8.2.5 使用异步方式销毁“僵尸”进程
8.3 多进程“回声”程序实现
8.3.1 服务器多进程的实现
8.3.2 “僵尸”进程的处理方法
8.3.3 使用多进程实现客户端的读、写功能分离
8.4 使用管道实现进程间通信
8.4.1 管道的使用方法
8.4.2 管道通信应用到多进程网络程序中
第9章 I/O复用套接字编程
9.1 I/O复用概述
9.2 使用select()函数实现I/O复用
9.2.1 select()函数
9.2.2 文件集合的基本操作函数
9.2.3 select()函数调用流程
9.3 使用select()函数实现服务器并发
9.3.1 使用select()函数监听套接字
9.3.2 使用select()函数监听通信套接字
9.3.3 并发服务器代码执行情况
9.4 epoll基本使用方法
9.4.1 epoll与select()函数的差异
9.4.2 epoll的基本操作函数
9.5 使用epoll实现并发服务器
9.5.1 使用epoll处理监听套接字
9.5.2 使用epoll处理通信套接字
9.6 epoll的边缘触发与条件触发
9.6.1 边缘触发与条件触发的概念
9.6.2 边缘触发下的数据读、写方法
9.6.3 3种并发实现方法的简单比较
第10章 套接字编程补充
10.1 域名与IP地址
10.1.1 域名与DNS
10.1.2 ICP备案
10.1.3 编程中域名与IP地址的转换
10.2 其他I/O函数
10.2.1 recv()与send()函数
10.2.2 发送与接收带外数据
10.2.3 writev()与readv()函数
10.3 多播与广播的实现
10.3.1 多播与广播的概念
10.3.2 多播数据发送与接收
10.3.3 广播数据发送与接收
第11章 原始套接字
11.1 原始套接字概述
11.2 原始套接字编程简介
11.2.1 原始套接字创建
11.2.2 原始套接字发送与接收数据包
11.2.3 原始套接字涉及的数据包结构
11.3 链路层原始套接字
11.3.1 链路层原始套接字的发送流程
11.3.2 ARP数据包发送样例
11.3.3 链路层原始套接字的接收流程
11.3.4 链路层原始套接字抓包程序样例
11.4 网络层原始套接字
11.4.1 网络层原始套接字的发送流程
11.4.2 使用ping工具发送ICMP数据包样例
11.4.3 网络层原始套接字的接收流程
11.4.4 使用ping工具接收ICMP数据包样例
11.5 pcap简介
11.5.1 pcap概述
11.5.2 pcap抓包流程
11.5.3 设置过滤条件
11.5.4 pcap抓包样例
第12章 综合运用案例
12.1 实现简单的Web服务器
12.1.1 多线程Web服务器实现
12.1.2 HTTP简介
12.1.3 HTTP请求和响应报文结构
12.1.4 HTTP请求处理和返回HTTP响应
12.2 实现远程过程调用
12.2.1 远程过程调用简介
12.2.2 远程接口调用协议设计
12.2.3 远程调用服务实现
12.2.4 远程壳函数库的实现
12.3 使用Qt实现网络程序
12.3.1 Qt编程环境的安装及设置
12.3.2 面向对象编程与Qt中的信号与槽机制
12.3.3 基于对话框的Qt图形界面实现
12.3.4 QSocket相关类的使用方法
12.3.5 用Qt实现简单聊天室客户端
12.3.6 实现简单聊天室服务器
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜