万本电子书0元读

万本电子书0元读

顶部广告

Linux网络程序设计 基于龙芯平台电子书

1. 针对信创环境的网络编程书籍,基于多年教学实践,反复磨内容。 2. 注重工程实践。本书的内容中设计的发工具、技术等,与当前IT公司实际使用的主流发工具非常契合。 3. 本书配套资源丰富,包括 PPT、讲义、源代码,满足读者学习需要。

售       价:¥

纸质售价:¥63.10购买纸书

1人正在读 | 0人评论 6.8

作       者:赵洪 李兆斌 魏占祯 编著

出  版  社:人民邮电出版社有限公司

出版时间:2024-04-01

字       数:32.2万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书着重阐述基于龙芯平台(龙芯CPU和Loongnix操作系统)的网络程序发。本书首先介绍龙芯平台下的C语言编译工具,包括Loongnix操作系统的安装、Loongnix操作系统的基本使用方法、Loongnix操作系统中C语言的编程工具和代码管理工具Git;然后介绍在龙芯平台上基于编译工具编写网络程序的相关知识,包括网络程序的基本原理,套字应用程序口的基本使用方法,多线程、多程和I/O复用网络程序的编程方法,原始套字的编程方法;最后通过一个综合性的网络软件项目案例,介绍使用Qt编写图形界面的网络程序的基本方法。 本书适合作为应用型普通高校的电子信息类专业、计算机科学与技术等专业的教材,也可作为高职院校相关专业的扩展教材。自主信息技术领域的相关技术人员也可将本书用作网络程序发的参考资料。<br/>【推荐语】<br/>1. 针对信创环境的网络编程书籍,基于多年教学实践,反复磨内容。 2. 注重工程实践。本书的内容中设计的发工具、技术等,与当前IT公司实际使用的主流发工具非常契合。 3. 本书配套资源丰富,包括 PPT、讲义、源代码,满足读者学习需要。<br/>【作者】<br/>赵洪 从 2004 年起在北京电子科技学院负责“通信软件设计”“网络安全与保密技术”等课程的教学工作,有近 20 年的教学经验。曾带领技术团队完成了多个产品的研制和产业化,有丰富的软件发经验。2014 年起,主持或参与了多个重要信创项目攻关及标准制定工作,为信创做出了自己的贡献。 李兆斌 北京电子科技学院副教授,长期从事计算机网络、通信安全方面的教学工作,负责“计算机网络安全实践”“IP 通信互联技术”等课程的教学。主持或参与了多个信创相关课题,有丰富的工程实践经验。 魏占祯 北京电子科技学院教授,长期从事通信网络、信息安全方面的教学和科研工作,多次获得省部级科技步奖。近年来参与了信创领域的多项工作,有丰富的信创工程科研经验。<br/>
目录展开

内容提要

前言

资源与支持

资源获取

提交勘误

与我们联系

关于异步社区和异步图书

第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 实现简单聊天室服务器

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部