前言

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

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

高质量博客汇总https://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

本仓库完成内容:

项目运行

目录结构

升级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/FMs7Ghttp://t.csdn.cn/FMs7G

运行项目

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

基于protobuf和httplib的在线通讯录项目框架|Protobuf应用小项目的更多相关文章

  1. 基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

    虽然该方法不会用在实际开发中,但该过程对于初学者还是非常友好的,真应了麻雀虽小,五脏俱全这句话了.好了不多废话了,直接开始!! 1.建立一个名为test的Asp.net core web应用程序 这一 ...

  2. Scrapy框架简介及小项目应用

    今天来总结一下Scrapy框架的用法.scrapy的架构如下: Engine  :引擎,处理整个系统的数据流处理.触发事务,是整个框架的核心. Items :项目,它定义了爬取结果的数据结构,爬取的数 ...

  3. Visual-platform,基于Vue的可视化大屏开发GUI框架

    visual-platform 基于Vue的可视化大屏开发GUI框架 ------ CreatedBy 漆黑小T 构建用于开发可视化大屏项目的自适应布局的GUI框架. github仓库: https: ...

  4. MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建

    前言: 前面的四个章节我们主要讲解了MongoDB的相关基础知识,接下来我们就开始进入使用.NET7操作MongoDB开发一个ToDoList系统实战教程. MongoDB从入门到实战的相关教程 Mo ...

  5. ng-cli搭建angular项目框架

    原文地址 https://www.jianshu.com/p/0a8f4b0f29b3 环境准备 以下步骤都不需要事先创建文件夹,只是环境的准备过程,只有到需要搭建项目的时候才需要创建文件夹用来存放项 ...

  6. java客房管理小项目,适合java小白练手的项目!

    java客房管理小项目 这个客房管理小项目,适合java初学者练手.功能虽然不多,但是内容很齐全! 喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私 ...

  7. 你要的SSM(Spring+Springmvc+Mybatis)小项目来了!!!

    SSM-Maven-Heima 这是一个使用 SSM(Spring+Springmvc+Mybatis)框架的商城小项目,使用Maven构建项目,以MySQL为数据库系统,Redis的缓存服务器(并不 ...

  8. 封闭的一个多月,老菜鸟的 机械手和AGV 自动搬运小项目总结

    最近上海疫情严重,闲赋在家无事可做,手机里不断的推送一些无脑的谩骂声音,索性找点事情做,将3月份实施的一个自动搬运小项目做一个简单的汇总,便于今后项目实施中积累一些经验.项目需求非常简单,因为能力有限 ...

  9. 这个小项目,上周被国外 AI 新闻网站报道,前些天又上了 github 热榜

    疫情期间在校花了几个月时间,写了这个小项目,是关于音频特征提取和分析的,自己是 AI 专业研究音频的,但受限于对音频特征的理解,做研究时总感觉缺乏"底料",所以当做是学习练手做了这 ...

  10. 基于socket.io的实时在线选座系统

    基于socket.io的实时在线选座系统(demo) 前言 前段时间公司做一个关于剧院的项目,遇到了这样一种情况. 在高并发多用户同时选座的情况下,假设A用户进入选座页面,正在选择座位,此时还没有提交 ...

随机推荐

  1. 【每日一题】40. 旅游 (树形DP解决树的最大独立集)

    补题链接:Here 算法涉及:树形DP寻找树上最大独立集 一开始想到是利用 树形DP 找树的直径问题,但这里由于可以利用走过的点衍生,所以不符合树的直径问题 查询了一下资料这道题是属于: 树的最大独立 ...

  2. Educational Codeforces Round 108 (Rated for Div. 2) (A思维,Bmath,C前缀和,D枚举)

    1519A. Red and Blue Beans 问题简述 给定 \(r\) 个红豆,\(b\) 个蓝豆,差值 \(d\) ,要求我们进行为红蓝豆分组,使得红豆和蓝豆绝对值差值不大于 \(d\) , ...

  3. 浏览器,navicat,IDEA--快捷键

    mysql快捷键:ctrl+r 运行查询窗口的sql语句ctrl+shift+r 只运行选中的sql语句ctrl+q 打开一个新的查询窗口ctrl+w 关闭一个查询窗口ctrl+/ 注释sql语句 c ...

  4. OpenSCA技术原理之npm依赖解析

    本文主要介绍基于npm包管理器的组件成分解析原理. npm 介绍 npm(全称Node Package Manager)是Node.js的预设软件包管理器. npm的依赖管理文件是package.js ...

  5. 【调试】kdump原理及其使用方法

    kdump机制 简介 Kdump是在系统崩溃.死锁或死机时用来转储内存运行参数的一个工具和服务,是一种新的crash dump捕获机制,用来捕获kernel crash(内核崩溃)的时候产生的cras ...

  6. 无向图求桥 UVA 796

    ***桥的概念:无向连通图中,如果删除某边后,图变 成不连通,则称该边为桥.*** ***一条边(u,v)是桥,当且仅当(u,v)为树枝边,且 满足dfn(u)<low(v)(前提是其没有重边) ...

  7. java进阶(42)--注解

    文档目录: 一.概念 二.注解的使用方法 三.JDK内置注解 四.元注释 五.注解中定义属性 六.反射注解的对象 七.反射注解对象的属性值 ------------------------------ ...

  8. 洛谷 P9916 「RiOI-03」Just a Q. (Easy ver.) 题解

    前言 Div.2 Rank \(13\) 获奖了,题目也好评. 解法 题目链接:\(\color{Purple}\texttt{P9916「RiOI-03」Just a Q. (Easy ver.)} ...

  9. MySQL 及调优

    存储引擎的种类 MySQL 中存在多种存储引擎,比如: InnoDB 支持事务: 支持外键: 同时支持行锁和表锁. 适用场景:经常更新的表,存在并发读写或者有事务处理的业务场景. MyISAM 支持表 ...

  10. 【开源分享】基于Html开发的房贷计算器,模仿新浪财经

    房贷计算器是一种房贷计算的在线计算Web应用,按用户选择的贷款类型.贷款金额.期限.利率可计算得出每月月供参考.支付利息.还款总额这些信息.本文模仿新浪财经开发的房贷计算器. 作品预览 https:/ ...