前言

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

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

高质量博客汇总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. P1379 八数码难题 ( A* 算法 与 IDA_star 算法)

    P1379 八数码难题 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种初始布局(初 ...

  2. Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)A ~ E题题解

    A - Tiny Arithmetic Sequence 水题,判断3个数是否能构成等差数列 void solve() { int a, b, c; cin >> a >> b ...

  3. AtCoder Beginner Contest 174 个人题解(ABC水题,D思维,E题经典二分,F离线树状数组)

    做完本期以后,最近就不会再发布 AtCoder 的往届比赛了(备战蓝桥杯ing) 补题链接:Here ABC题都是水题,这里直接跳过 D - Alter Altar 题意:一个R-W串,可以进行两种操 ...

  4. 对话开发者:Serverless 落地的困境与破局

    作者 | 阿里云开发者社区.InfoQ 从 2012 年提出 Serverless 到今年 2022 年刚好十年. 过去十年,上云是确定性趋势,在这个阶段企业一开始的关注点在于如何实现平滑上云.随着越 ...

  5. 7 Englishi 词根

    1.跟直播,跟复习课,完成作业 2. 基础差加餐,听录播 3.如何听课 4.单词学习反复多次 如何记笔记 语块的汉语意思 单词的记忆方式和固定表达 俩种方式记忆单词 语块关联记忆 基础词根词缀(6节课 ...

  6. vue实现word或pdf文档导出的功能

    https://www.jianshu.com/p/73915ef6ac89 Vue - element-ui 中预览 word .exce.ppt以及pdf文件 https://blog.csdn. ...

  7. ASP.Net Core 5.0 MVC log4net日志的添加

    1. 引入程序集 Microsoft.Extensions.Logging.Log4Net.AspNetCore 及 log4net 2. 添加配置文件log4net.Config,  并将属性改为& ...

  8. 本地打包编译jdk版本问题

    一.遇到的问题 进行项目接入pinpoint-ice插件,启动项目时pinpoint-agent日志报如下不支持jdk8的错误.'   二.排查 我们是在个人笔记本电脑上windows环境下通过mav ...

  9. 解决在Edge浏览器中使用不了(找不到)new bing的情况

    1.问题 我们有时候看不到下图圈出部分的信息,无法找到New Bing的入口(这边是空的) 2.解决方式 1.选择右上角的三条杠,并选择其中的settings 2.将其中的country一项改为外国即 ...

  10. drop_caches 的简单学习

    drop_caches 的简单学习 背景 最近一段时间一直在学习内存相关的知识 Linux系统里面的内存管理还是非常复杂的. 我这边理解 Linux从宏观层次的 段页式内存管理 到细节的buddy和s ...