开源项目推荐:C/C++网络库(muduo/poco/libuv/workflow等等)

简介: 开源项目推荐:C/C++网络库(muduo/poco/libuv/workflow等等)

(1)ACE


庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。


http://www.cs.wustl.edu/~schmidt/ACE.html



(2)Asio


Asio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。


开源、免费,支持跨平台。


http://think-async.com/



(3)POCO


POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操作、共享库和类加载、套接字以及网络协议包括:HTTP、 FTP、SMTP 等;其本身还包含一个 HTTP 服务器,提供 XML 的解析和 SQL 数据库的访问接口。POCO库的模块化、高效的设计及实现使得POCO特别适合嵌入式开发。在嵌入式开发领域,由于C++既适合底层(设备I/O、中断处理等)和高层面向对象开发,越来越流行。


http://pocoproject.org/



(4)libevent


Libevent是一个轻量级的开源高性能网络库,从它的官网标题:libevent-an event notification library就能知道它的机制是采用事件触发,封装了以下三种事件的响应:IO事件,定时器事件,信号事件。select模型来实现跨平台的操作,Windows环境下支持IOCP。Google的开源WEB浏览器Chromium在Mac和Linux版本中,也使用了Libevent,足见该库的质量。


http://libevent.org/



(5)libev


libev和libevent很像,按照作者的介绍,可以作为libevent的替代者,能够提供更高的性能。


libev是一个高性能事件循环,所实现的功能就是一个强大的reactor。


http://software.schmorp.de/pkg/libev.html



(6)c++ sockets library


封装了sockets C API的C++类库。


支持SSL, IPv6, tcp 和 udp sockets, sctp sockets, http协议, 高度可定制的错误处理。


http://www.alhem.net/Sockets/



(7)libcurl


libcurl是免费的轻量级的客户端网络库,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet, TFTP. 支持SSL, HTTP POST, HTTP PUT, FTP上传, HTTP form上传,代理,cookies, 用户名与密码认证。


如果你开发的是客户端,libcurl是一个不错的选择。


http://curl.haxx.se/libcurl/



libuv


http://libuv.org/



ACL


https://github.com/acl-dev/acl



HP-Socket


https://github.com/ldcsaa/HP-Socket



Sogou C++ Workflow


https://github.com/sogou/workflow


https://github.com/sogou/srpc


https://www.zhihu.com/people/liyingxin1412/



muduo


https://github.com/chenshuo/muduo



ananas


https://github.com/loveyacper/ananas


相关文章
|
8月前
|
NoSQL 网络协议 Linux
Redis的实现一:c、c++的网络通信编程技术,先实现server和client的通信
本文介绍了使用C/C++进行网络通信编程的基础知识,包括创建socket、设置套接字选项、绑定地址、监听连接以及循环接受和处理客户端请求的基本步骤。
114 6
|
3月前
|
运维 监控 算法
解读 C++ 助力的局域网监控电脑网络连接算法
本文探讨了使用C++语言实现局域网监控电脑中网络连接监控的算法。通过将局域网的拓扑结构建模为图(Graph)数据结构,每台电脑作为顶点,网络连接作为边,可高效管理与监控动态变化的网络连接。文章展示了基于深度优先搜索(DFS)的连通性检测算法,用于判断两节点间是否存在路径,助力故障排查与流量优化。C++的高效性能结合图算法,为保障网络秩序与信息安全提供了坚实基础,未来可进一步优化以应对无线网络等新挑战。
|
8月前
|
算法 C++ 容器
C++标准库(速查)总结
C++标准库(速查)总结
185 6
|
8月前
|
存储 算法 C++
C++ STL 初探:打开标准模板库的大门
C++ STL 初探:打开标准模板库的大门
183 10
|
5月前
|
XML 网络协议 API
超级好用的C++实用库之服务包装类
通过本文对Boost.Asio、gRPC和Poco三个超级好用的C++服务包装类库的详细介绍,开发者可以根据自己的需求选择合适的库来简化开发工作,提高代码的效率和可维护性。每个库都有其独特的优势和适用场景,合理使用这些库可以极大地提升C++开发的生产力。
112 11
|
4月前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
74 0
|
8月前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
131 5
|
8月前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
147 1
|
9月前
|
编译器 API C语言
超级好用的C++实用库之跨平台实用方法
超级好用的C++实用库之跨平台实用方法
102 6
|
9月前
|
安全 C++
超级好用的C++实用库之环形内存池
超级好用的C++实用库之环形内存池
181 5