From:https://www.cnblogs.com/aitantianderuangutou/p/11416902.html

(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/

看了之后觉得每个库都不错,这里我具体下载这些库看一下,简单总结一下;

顺便添加一些我找到的网络库;

(1) ACE

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

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

注:除非特别需要,否则不建议;

(2) Asio

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

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

http://think-async.com/

注:要配置Boost库,还要熟悉Boost,还是麻烦;

(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/

注:没看,放到这里,以后编写网络客户端的时候看看;

(8):C++ Socket Class for Windows ,http://www.adp-gmbh.ch/win/misc/sockets.html;

注:这个文章的文件不可以下载自己复制 保存 h 和 cpp文件;

我用了一下,觉得很不错,也很简单,例子很明了; 不过有一个小小的缺点,只收发字符串,而且接收函数中的判断也有点不好;

如果要用这个库传输文件等数据,需要 自己重载 收发函数,不过也很简单;

这个不错,我会单独写一篇文章介绍;

(9):SimpleSockets,http://sockets.carrierlabs.com/index.html

跨平台,支持 TCP ,UDP;

注:这个编译简单而且用起来也简单,目前考虑这个库;

http://blog.csdn.net/weiwangchao_/article/details/8730199

C++ 第三方常用网络库相关推荐

  1. Windows平台基于API Hook技术的WinInet网络库HttpDNS实现方案

    一.项目背景 学而思网校直播课堂在线安装程序,是一个独立的应用程序,提供学生端的安装功能,为了减少安装包体积,避免引入第三方网络库,使用的是操作系统的WinInet网络库.为了更好的优化网络,提高网络 ...

  2. [转载] 20个常用Python库及200个第三方库

    参考链接: 使用Python在Linux Terminal中格式化文本 Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它 Scrapy 如果你从事 ...

  3. 20个常用Python库及200个第三方库

    Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它Scrapy 如果你从事爬虫相关的工作,那么这个库也是必不可少的wxPython GUI(图形用户 ...

  4. (非常强大的) ios 常用网址,库,第三方,索引整理合集

    code4app.com 不错的网站,收集各种 iOS App 开发可以用到的代码示例 ,动态展示. cocoacontrols.com/ 英文版本的lib收集,与4app 类似 objclibs.c ...

  5. python标准库和第三方库_python常用标准库及三方库

    python 常用标准库及三方库 作者: yegle 链接: https://www.zhihu.com/question/20501628/answer/153211 84 著作权归作者所有.商业转 ...

  6. C++常用的一些网络库

    文章目录 前言 一.libcurl:高可移植.功能丰富的通信库 二.cpr:更现代.更易用的通信库 三.ZMQ:高效.快速.多功能的通信库 总结 前言 这几天浏览了一下极客时间罗剑锋老师的<C+ ...

  7. C++常用库之网络库

    C++一个很大的用途就是作为网络层组件的开发语言.C++开发的第三方网络库也比较多.其实,c语言下的网络库也不少.现在简单介绍一下. ACE库 ACE是一个大型的中间件产品,代码有几十万行,非常宏大, ...

  8. 1000+ 常用 Python 库一览

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源 | 法纳斯特 这次给大家总结整理了1000+常用Python库 ...

  9. wxpython dataview处理大量数据_38个常用Python库:数值计算、可视化、机器学习等8大领域都有了...

    作者 | 李明江 张良均 周东平 张尚佳 来源 | 大数据DT 原文 | 38个常用Python库:数值计算.可视化.机器学习等8大领域都有了 Python作为一个设计优秀的程序语言,现在已广泛应用于 ...

最新文章

  1. 传统IT和新IT并行推进 EMC两条腿走路助力企业数字化转型
  2. linux命令shutdown
  3. rust领地柜保养物品放什么_门厅柜的样式,只有这四种
  4. 世界上最遥远的距离(泰戈尔)
  5. linux服务器系统内核参数优化
  6. MySQL优化之——触发器
  7. Linux硬链接和符号链接(转)
  8. echarts源码打包_Echarts模块v1.5更新【更新支持多线程,封装大量快速方法,增加史上最详细示例】...
  9. VSTO之一:Word外接程序
  10. linux free空闲内存用尽,Linux中显示空闲内存空间的free命令的基本用法
  11. 公安部称游街示众的执法方式严重违规
  12. MyEclipse各种版本注册码
  13. 计算机如何寻找ppt文件,电脑上没保存的PPT怎么找回来
  14. 程序员不得不学的操作系统知识(三)
  15. MySQL in、exists是否走索引
  16. 2022.11.17排序题讲解
  17. AC-DC可调5V输出电流可调电源芯片资料参考
  18. 设计模式------策略模式
  19. ESB总线的核心架构
  20. 牛油果是如何成为中产标配的?

热门文章

  1. 数据缺失、混乱、重复怎么办?最全数据清洗指南让你所向披靡
  2. OpenTSDB 造成 Hbase 整点压力过大问题的排查和解决
  3. Spring Boot开发Web应用
  4. Redis系列教程(九):Redis的内存回收原理,及内存过期淘汰策略详解
  5. python编程之如何判断某个元素在不在列表里面
  6. 服务器 | 安装最新版R和Rstudio(3.5.3)
  7. Python绘制图形之Matplotllib绘图
  8. Python Django项目部署 Linux 服务器
  9. JavaScript(js)/上
  10. MATLAB中的微积分运算(数值符号)