当前位置: 首页 > news >正文

【Json RPC框架】框架介绍与环境搭建(Ubuntu 22.04)

🎁个人主页:我们的五年

🔍系列专栏:Json RPC框架

🌷追光的人,终会万丈光芒

🎉欢迎大家点赞👍评论📝收藏⭐文章

JSon RPC框架系列文章Json RPC框架_我们的五年的博客-CSDN博客

目录

1.项目介绍

🎁1.1什么是RPC?

🎁1.2什么是Json?

🎁1.3什么是muduo库?

🎁1.4技术支持

2.Ubuntu22.04环境搭建

3.下载安装wget(配置更改1)

🍉安装好了以后进行查看。

4.更新国内软件源(配置更改2)

4.1为什么要更新国内软件源?

4.2操作示范

步骤一:🍇首先将软件源相关信息进行备份。将source.list备份到sources.list.bak。

步骤二:🍇然后用vim或者vscode打开source.list文件,把文件里面的内容更改为下面的内容。

步骤三:🍇最后进行配置更新

5.下载rzsz服务器和本地传输工具(配置更改3)

6.安装编译工具gcc,g++(配置更改4)

7.安装make工具(配置更改5)

8.安装gdb工具(配置更改6)

9.安装git工具(配置更改7)

10.安装cmake工具(配置更改8)

11.安装Jsoncpp(配置更改9)

12.安装muduo库(配置更改10)


1.项目介绍

🎁1.1什么是RPC?

RPC是远程过程调用。

通过网络,向服务器请求服务,调用服务器上的函数或者方法,不用关心网络底层细节,就好像在本地调用一样简单和实用。从而实现分布式服务交互,可以使用的网络通信协议有HTTP,UDP,TCP。

侧重点,带给人的感受是像是在直接调用本地函数一样。

🎁1.2什么是Json?

Json是一种数据格式,用于存储数据和表示数据。

Json在网络数据交互的时候承担着重要的作用,在网络通信的过程中要序列化和反序列化。

🎁1.3什么是muduo库?

muduo库是C++中高性能的网络库,用于开发高并发的网络服务器。采用Reacter模式,和非阻塞IO,事件驱动的,最大程度的利用CPU。

muduo库的设计核心是一个线程一个事件循环,主线线程负责窃听新连接,然后分配给其他线程。

🎁1.4技术支持

序列化协议,通信协议,连接复用,服务注册,服务发现,服务订阅和服务通知,负载均衡,同步调用,异步调用。

通过实现远程调用接口,传入函数参数,进行远程调用RPC接口。通过Json设计好参数和返回值协议。直接采用Json进行序列化和反序列化。


2.Ubuntu22.04环境搭建

Linux(Ubuntu22.04)
vscode/vim
g++
Makefile


3.下载安装wget(配置更改1)

sudo apt-get install wget

wget的功能是从服务器下载工具,如果没有这个,就不能下载其他的,所以一般是有这个这个工具的。

🍉安装好了以后进行查看。

wget --version

 wget版本1.21.2,建立在Linux-gnu之上。


4.更新国内软件源(配置更改2)

4.1为什么要更新国内软件源?

更新国内的软件源,下载速度更快,下载东西就不要等很久了。而且国内的软件源更加的安全,稳定可靠,本地支持性也更好。

下载工具的时候,就直接去这个服务器上找,下载速度更快。

4.2操作示范

步骤一:🍇首先将软件源相关信息进行备份将source.list备份到sources.list.bak
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
步骤二:🍇然后用vim或者vscode打开source.list文件,把文件里面的内容更改为下面的内容。
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
#添加清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

注意格式,deb开头为一行,其他的如果中间换行可能就会出错。

错误示范:

一行写成了这样:multiverse不能写到第二行,不然不能解析。

deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe 
multiverse

正确写法:应该都是deb开头,一行写完,中间不能换行。

deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

第3行格式错误,不能读取源文件列表。 

步骤三:🍇最后进行配置更新
sudo apt-get update

5.下载rzsz服务器和本地传输工具(配置更改3)

sudo apt-get install lrzsz

 rz服务器接收文件到服务器。

sz从服务器发送文件到客户端(本地)。


6.安装编译工具gcc,g++(配置更改4)

sudo apt-get install gcc g++


7.安装make工具(配置更改5)

sudo apt-get install make

8.安装gdb工具(配置更改6)

sudo apt-get install gdb

9.安装git工具(配置更改7)

sudo apt-get install git

10.安装cmake工具(配置更改8)

sudo apt-get install cmake

11.安装Jsoncpp(配置更改9)

sudo apt-get install libjsoncpp-dev


12.安装muduo库(配置更改10)

方法一:

git clone https://github.com/chenshuo/muduo.git

方法二: 

在我的gitee下在muduo库。

直接点击下面访问仓库。

第三方库muduo库: muduo是一个高性能的C++网络库,基于Linux平台,主要用于开发高并发的TCP网络服务器。

步骤1:克隆代码到本地
步骤2:unzip 解压压缩包

unzip muduo-master.zip

步骤3:进入muduo-master
步骤4:下载指定的boost库

sudo apt-get install libz-dev libboost-dev

 步骤5:运行build.sh脚本。

./build.sh

步骤6:

./build.sh install

执行这个命令,muduo库本身不依赖全部的boost库的组件,只依赖`boost::any`模块,所以不需要全量下载boost库,指定下载开发库就好了。

不要求是:

libboost-all-dev

相关文章:

  • 【Docker系列五】Docker Compose 简介
  • 汽车制造MES
  • JavaScript | 爬虫逆向 | 语法基础| 01
  • MATLAB入门
  • React的状态管理——Redux
  • CE设备(Customer Edge device,用户边缘设备)
  • Vue 项目编译错误:These dependencies were not found,To install them, you can run...
  • 群体智能优化算法-蜻蜓优化算法(Dragonfly Algorithm, DA,含Matlab源代码)
  • “统计视角看世界”专栏导读
  • 本地安装deepseek大模型,并使用 python 调用
  • 深度学习框架PyTorch——从入门到精通(6.2)自动微分机制
  • vue有了响应式,为何还要diff
  • 3. 轴指令(omron 机器自动化控制器)——>MC_Stop
  • python 实现一个简单的window 任务管理器
  • 【深入理解 SpringBoot3】第一弹:SpringBoot3 快速入门
  • MATLAB+Arduino利用板上的按键控制板上Led灯
  • Ant Design Vue Select 选择器 全选 功能
  • 深度学习核心算法
  • git 基础操作
  • Python---数据分析(Pandas十:二维数组DataFrame统计计算一)
  • 《广州大典研究》集刊发展座谈会:“广州学”的传承与创新
  • 十三届全国政协经济委员会副主任张效廉被决定逮捕
  • 姚洋将全职加盟上海财经大学,担任滴水湖高级金融学院院长
  • 《三餐四季》广东篇今晚开播:食在岭南,遇见百味
  • 伊朗外长称正与美国进行“善意”的会谈
  • 中国金茂新任命三名副总裁,撤销区域公司