c++编写HTTP API服务端/客户端最简单的库,没有之一 ---- 没有完成

libhv是c++编写HTTP API 服务端/客户端最简单的库,没有之一

具有如下特性:

  • 跨平台(Windows, Linux, Mac)
  • 支持https
  • 支持RESTful API
  • 支持application/json、application/x-www-form-urlencoded、multipart/form-data
  • 内置web service文件服务和indexof service目录服务
  • 可扩展多进程/多线程模型

libhv简介

libhv是一个跨平台的类似libevent、libev、libuv的异步IO事件循环库,但提供了更加简单的API接口和更加丰富的协议(包括http、ftp、smtp、dns、icmp等)。
libhv已广泛实用在公司的IOT平台、http API服务之中,正确性、稳定性、可扩展性、性能都有保证,完全开源,请放心使用。

项目地址:https://github.com/ithewei/libhv.git
码云镜像:https://gitee.com/ithewei/libhv.git
QQ技术交流群:739352073
libhv每日一学博文:https://hewei.blog.csdn.net/article/details/103903123

热门文章

暂无图片
编程学习 ·

Android运行Linux程序

安卓直接运行arm-linux-gnueabi-gcc编译的标准嵌入式Linux程序,我们有时不想把原Linux程序重新开发一遍。第一步,给adb root权限运行,否则拷贝会提示无权限failed to copy E:\share\a8Agent1.0.1\a8Agent to /data/a8Agent: Permission deniedadb root 第二不,发送程序到安…
暂无图片
编程学习 ·

读取csv文件,逐行写入txt

import csv #加载csv包便于读取csv文件x, y = [], [] csv_file = open(G:/竞赛/datafountain/O2O商铺食品安全相关评论发现/rnn_cnn/data/train.csv,encoding=utf-8) #打开csv文件 next(csv_file) csv_reader_lines = csv.reader(csv_file) #逐行读取csv文件 for one_l…
暂无图片
编程学习 ·

Java实训心得一

Java第一次实训 第一次实训任务很简单 一: 编写学生管理系统功能结构图利用xmind编写结构图 图示:二:用Navicat工具创建数据库及表格创建student数据库 2.创建t_colledge表并进行设计,插入数据创建t_status表并进行设计,插入数据创建t_student表并进行设计,插入数据创建t…
暂无图片
编程学习 ·

服务器使用Nginx部署Springboot项目(jar包)

部署SpringBoot项目到后台Nginx实现多项目反向代理1,将java项目打成jar包2.准备工具3.将jar包传入服务器3.使用Xshell运行jar包4.下载安装nginx5.配置nginx.conf6通过域名访问(成功) 1,将java项目打成jar包 这里我用到的是maven工具这里有两个项目,打包完成后一个为demo.jar,另…
暂无图片
编程学习 ·

sqlite 免费的可视化工具

1.sqliteStudio 介绍:开源,支持多平台 下载:https://github.com/pawelsalawa/sqlitestudio/releases 官网:https://sqlitestudio.pl/ 2.DB Browser 介绍:开源,支持多平台 官网:https://sqlitebrowser.org/ 下载:https://sqlitebrowser.org/dl/ 3.SQLPro 介绍:开源,只…
暂无图片
编程学习 ·

依赖注入

1.依赖注入的概念 依赖注入( Dependency Injection ,简称 DI) 与控制反转 (loC) 的含义相同,只不过这两个称呼是从两个角度描述的同一个概念。 当某个 Java 对象(调用者)需要调用另一个 Java 对象(被调用者,即被依赖对象)时, 在传统模式下,调用者通常会采用 "new 被调…
暂无图片
编程学习 ·

vue项目实现路由按需加载(路由懒加载)的3种方式

vue异步组件es提案的import()webpack的require,ensure()vue异步组件技术 ==== 异步加载 vue-router配置路由 , 使用vue的异步组件技术 , 可以实现按需加载 . 但是,这种情况下一个组件生成一个js文件/* vue异步组件技术 */ {path: /home,name: home,component: resolve => re…
暂无图片
编程学习 ·

zookeeper的安装及配置

zookeeper的安装及配置解压zookeeper压缩包 tar -xvf zookeeper-3.4.10.tar -C ~/softwares softwares是在~下自行创建的一个目录创建软连接 ln -s zookeeper-3.4.10/ zookeeper(方便以后更换)配置环境 进入~/.bashrc文件,配置环境变量 vi ~/.bashrc ####ZOOKEEPER_CONF####…
暂无图片
编程学习 ·

Linux7.6快速安装tigervnc1.8

前置配置:配置yum环境:确保Linux7.6安装盘存在于光驱中(或虚拟光驱)mkdir /mnt/linux mount /dev/cdrom /mnt/linux cd /etc/yum.repos.d mkdir bk mv *.repo bk/ echo "[EL]" >> /etc/yum.repos.d/yuminstall.repo echo "name =Linux 7.x DVD"…
暂无图片
编程学习 ·

Spring Boot, MySQL, JPA, Hibernate Restful CRUD API Tutorial

Spring Boot MySQL JPA Hibernate Restful CRUD API TutorialSpring Boot has taken Spring framework to the next level. It has drastically reduced the configuration and setup time required for spring projects. Spring Boot将Spring框架提升到了一个新的高度。它大大…
暂无图片
编程学习 ·

docsify 构建文档网站之定制功能(全网最全)

作者: wugenqiang 学习笔记:https://notebook.js.org/ 微信公众号:码客 E 分享(ID:enjoytoshare)文档后续更新地址:docsify 构建文档网站4 定制功能 文章目录4 定制功能4.1 支持 DOT 语言作图4.2 支持 LaTex 数学公式4.3 支持 PDF 页面展示4.4 支持回到顶部4.5 点击页面…
暂无图片
编程学习 ·

计算机基础————存储单位and数制位

存储单位 最小存储单位:bit 存储0或者1的空间 基本存储单位:byte 1Byte=8bit 1KB=2^10Byte=1024Byte 1MB=210KB=1024KB GB=1024MB TB=1024GB 数制位 二进制:每一位由0-1组成,满2进1 权为2 101011110 十进制:每一位0-9组成,满10进1 权为10 95 八进制:每一位…
暂无图片
编程学习 ·

mxnet安装环境配置

一、安装Miniconda 官方网址:https://conda.io/en/latest/miniconda.html 本人选择python3.7版本Windows64位 安装完成后打开Anaconda Prompt创建虚拟环境conda create –n env python=3.7 这里的env为自定义环境名激活环境 conda activate env 退出环境: conda deactivate查…
暂无图片
编程学习 ·

js CheckBox 全选、反选

<h3>你最喜欢的水果是?</h3><label><input type="checkbox"/>苹果</label> <label><input type="checkbox"/>香蕉</label> <label><input type="checkbox"/>梨</label> <…
暂无图片
编程学习 ·

【java基础(五十)】为什么要使用泛型程序设计

从Java程序设计语言1.0版发布以来,变化最大的部分就是泛型。致使Java SE 5.0中增加泛型机制的主要原因是为了满足1999年制定的最早的Java规范需求之一(JSR 14)。专家组花费了5年左右的时间用来定义规范和测试实现。 泛型正是我们需要的程序设计手段。使用泛型机制编写的程序…
暂无图片
编程学习 ·

常见问题

1.简述面向对象和面向过程的特点。 面向过程:按顺序编写和执行程序,一行行,一句句地执行指令,把这些指令包装成一个个过程,通过参数批量调用。 面向过程:将程序指令和所要操作的数据封装成一个个模板,然后在需要的时候将模板实现为实例,用不同实例组合成解决问题的方法…
暂无图片
编程学习 ·

Efficient Large-Scale Multi-Modal Classification 多模态学习论文阅读

引言 多模态问题我们应该不会陌生。 Efficient Large-Scale Multi-Modal Classification(AAAI2018) 摘要 早期的互联网主要是基于文本的,但现代数字世界正变得越来越多模式。这里,我们研究多模态分类,其中一个模态是离散的,例如文本;而另一个是连续的,例如从卷积神经网…
暂无图片
编程学习 ·

关于微服务架构最好的文章!

本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景。❝ 为了防止不提供原网址的转载,特加上原文链接:https://www.cnblogs.com/skabyy/p/11396571.html要理解微服务,首先要先理解不是微服务…
暂无图片
编程学习 ·

Tcp Wrapper和sudo权限

1、编写脚本/root/bin/checkip.sh,每5分钟检查一次,如果发现通过ssh登录失败 次数超过10次,自动将此远程IP放入Tcp Wrapper的黑名单中予以禁止防问 #! /bin/bashNUM=10 sleeptime=300 file=/etc/hosts.deny while ture;docat /var/log/secure* | grep Failed password | gre…