基于protobuf和httplib的在线通讯录项目框架|Protobuf应用小项目

前言

那么这里博主先安利一些干货满满的专栏了!

首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。

高质量博客汇总icon-default.png?t=N6B9https://blog.csdn.net/yu_cblog/category_12379430.html

项目简介

本项目是博主在学习protobuf的同时,顺便学用了一下httplib做的,技术含量不算特别高。不过我也封装好分享给大家了。希望大家能学到东西。

项目地址

GitHub - Yufccode/An-AddrBook-Framework-based-on-Protobuf-and-httplib: An online address book project framework based on protobuf and httplib 基于protobuf和httplib的在线通讯录项目框架。An online address book project framework based on protobuf and httplib 基于protobuf和httplib的在线通讯录项目框架。 - GitHub - Yufccode/An-AddrBook-Framework-based-on-Protobuf-and-httplib: An online address book project framework based on protobuf and httplib 基于protobuf和httplib的在线通讯录项目框架。https://github.com/Yufccode/An-AddrBook-Framework-based-on-Protobuf-and-httplib

README

An online address book project framework based on protobuf and httplib

基于protobuf和httplib的在线通讯录项目框架。

最新更新日期

2023年8月20日

项目需求

P将实现一个网络版本的通讯录,模拟实现客户端与服务端的交互,通过 Protobuf 来实现各端之间的协议序列化。

需求如下:

客户端可以选择对通讯录进行以下操作:

  • 新增一个联系人

  • 删除一个联系人

  • 查询通讯录列表

  • 查询一个联系人的详细信息

  • 服务端提供增、删、查能力,并需要持久化通讯录。

  • 客户端、服务端间的交互数据使用 Protobuf 来完成

注意:鉴于作者只是利用本项目学习和使用P融通部分工具,因此,本Github仓库中只完成了项目框架,没有实现整个项目。后续作者会继续更新和完善此项目。

完整项目可见另一位作者:protobuf: protobuf 教学仓库 - Gitee.com

本仓库完成内容:

  • 搭建了客户端和服务端的基本框架

  • 实现了使用protobuf新增联系人的功能,但暂时没有实现联系人功能的本地存储,只实现了服务端stdout的信息打印。

  • 项目使用httplib库作为服务器,地址:GitHub - yhirose/cpp-httplib: A C++ header-only HTTP/HTTPS server and client libraryA C++ header-only HTTP/HTTPS server and client library - GitHub - yhirose/cpp-httplib: A C++ header-only HTTP/HTTPS server and client libraryhttps://github.com/yhirose/cpp-httplib。有兴趣的读者,可以下载我另一个仓库中的Reactor服务器作为底层来使用:GitHub - Yufccode/Reactor-based-HyperWebServer: A high-performance web server based on the multiplexer actor mode, with an underlying implementation using the epoll modelA high-performance web server based on the multiplexer actor mode, with an underlying implementation using the epoll model - GitHub - Yufccode/Reactor-based-HyperWebServer: A high-performance web server based on the multiplexer actor mode, with an underlying implementation using the epoll modelhttps://github.com/Yufccode/Reactor-based-HyperWebServer

项目运行

目录结构

基于protobuf和httplib的在线通讯录项目框架|Protobuf应用小项目_第1张图片

升级GCC

如果使用 centOS 环境,yum源带的g++ 最新版本是4.8.5,发布于2015年,年代久远。编译该项目会出现异常。将 gcc/g++ 升级为更高版本可解决问题。

升级参考:CentOS 7上升级/安装gcc - 掘金CentOS 7官方源带的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。 问题的解决办法主要有两种:手动编译安装(也可以从其他机器拷贝或者网上下载),或从源安装。大多数情况下本人都…https://juejin.cn/post/6844903873111392263

Protobuf安装

参考博客:http://t.csdn.cn/FMs7Gicon-default.png?t=N6B9http://t.csdn.cn/FMs7G

运行项目

准备好环境之后就可以直接make Client和Server里面的makefile进行客户端和服务端的运行。

你可能感兴趣的:(高质量干货博客汇总,Linux,操作系统,开发语言,protobuf,centos7,通讯录,httplib)