国产开源c/c++网络库libhv为何能上github 趋势

国产开源c/c++网络库libhv为何能上github 趋势2020 年 11 月 15 日 libhv 上了 github trending c 语言榜第一名 特作此文以纪念

欢迎大家来到IT世界,在知识的湖畔探索吧!

2020年11月15日,libhv上了github trending c语言榜第一名。特作此文以纪念。

国产开源c/c++网络库libhv为何能上github 趋势



欢迎大家来到IT世界,在知识的湖畔探索吧!

文章目录

    • libhv为何物
    • libhv发展历程
    • libhv的定位
    • libhv和libevent、libev、libuv有什么不同
    • libhv后续规划
    • 更多参考资料

libhv为何物

libhv是一个类似于libevent、libev、libuv的跨平台网络库,提供了更简单的接口和更丰富的协议。详细介绍见项目README

项目地址:https://github.com/ithewei/libhv.git

libhv发展历程

  • libhv自2018年8月28日first commit到github,起初只是一些c/c++跨平台基础设施,如日期时间、字符串、线程同步锁、日志、缓存等,即现在的base模块。
  • 至今已开发维护2年多,四百多次commit,实用在网络通讯、IoT、http等领域,正确性、稳定性、可扩展性、性能都有保证,完全开源,请放心使用。
  • 期间发展了event事件循环模块和http模块,在libhv中你可以发现libevent、libev、libuv、nginx、ehttp、libuhttp、ginex等众多网络开源库的影子,libhv正是参考借鉴它们的精华之处,提供了一套更简单的API接口。阅读以上开源库有困难的同学不妨试试阅读libhv,我一直觉得libhv的学习价值可能超过实用价值。

libhv的定位

精妙小巧跨平台,简单实用易上手

  • base封装了很多跨平台的代码,如hatomic原子操作hthread线程hmutex线程同步,当然这都是基于configure/cmake自动生成的hconfig.hhplatform.h两个头文件中提供的平台宏、编译器宏等实现的;
  • event模块则实现了事件循环(包括IO、timer、idle),不同的平台有不同的实现,如Linux使用epollWindows使用IOCPMac使用kqueueSolaris使用evport,感兴趣的可以读一读event下的源码;
  • http模块则基于event模块实现了本世纪最为通用的应用层协议http协议,包括http服务端和客户端,libhv中examples下提供的httpd,性能可媲美nginx服务;
  • 不妨勇敢的说

c++编写HTTP API服务端/客户端最简单的库,没有之一hewei.blog.csdn.net

国产开源c/c++网络库libhv为何能上github 趋势

libhv和libevent、libev、libuv有什么不同

  • libevent最为古老、有历史包袱,bufferevent虽为精妙,却也难以上手;
  • libev可以说是libevent的简化版,代码极为精简,但宏定义用的过多,代码可读性不强,且在Windows上实现不佳;
  • libuv是nodejs的c底层库,最先也是由libevent+对Windows IOCP支持,后来才改写自成一体,同时实现了管道、文件的异步读写,很强大,但结构体比较多,封装比较深;
  • libhv本身是参考了libevent、libev、libuv的实现思路,它们的核心都是事件循环(即在一个事件循环中处理IO、定时器等事件),但提供的接口最为精简,API接近原生系统调用,最容易上手;
  • 具体这几个库的写法比较见https://github.com/ithewei/libhv/tree/master/echo-servers
  • 当然这几个库的性能是接近的,都将非阻塞IO多路复用用到了极致
  • 更详细介绍见

国产开源库libhv为何能被awesome-c和awesome-cpp收录_HW的博客-CSDN博客_libhv​hewei.blog.csdn.net

国产开源c/c++网络库libhv为何能上github 趋势

libhv后续规划

基于event模块实现更多的常见应用层协议,如websocketMQTTredis等;
也欢迎更多的志同道合者基于libhv提供的基础设施贡献更多的实用代码,完善libhv的网络协议生态。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/103363.html

(0)
上一篇 39分钟前
下一篇 24分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信