开源免费的C/C++网络库(c/c++ sockets library)

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

时间: 2024-09-30 20:57:32

开源免费的C/C++网络库(c/c++ sockets library)的相关文章

开源免费的C/C++网络库(c/c++ sockets library) 七剑下天山

(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++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程.线程同步.文件

4款开源免费的数据可视化JavaScript库

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   HTML5中新的图形元素和JavaScript引发了交互式数据显示技术的复兴.如今的浏览器用户界面不仅功能丰富.令人赏心悦目,而且还作为数据可视化的载体,用于显示柱状体.气泡图和丰富多彩的地图等. 交互式数据可视化在很大程度上取决于JavaScript库的任务能力.在这篇文章中,我们将看看四个JavaScript库:D3,InfoVis,Processing.j

我对开源C++网络库简单应用总结

网上有篇文章<开源免费的C/C++网络库(c/c++ sockets library) 七剑下天山>,看了之后觉得每个库都不错,这里我具体下载这些库看一下,简单总结一下: 顺便添加一些我找到的网络库:     (1)ACE 庞大.复杂,适合大型项目.开源.免费,不依赖第三方库,支持跨平台. http://www.cs.wustl.edu/~schmidt/ACE.html 注:除非特别需要,否则不建议:   (2)Asio Asio基于Boost开发的异步IO库,封装了Socket,简化基于s

谈谈网络库和Retrofit

本文目录如下 网络模块需要具备什么能力 为什么Retrofit是个好选择 Retrofit业务分析 Retrofit技术点 设计模式 一.网络模块需要具备什么能力? 常见的需求下图: 下面解释一下重要的部分. 1.支持缓存 为了让页面快速展现,很多页面需要先加载缓存.通用策略是 1.先加载缓存;2.然后做网络请求3.网络请求成功后刷新页面,并且更新缓存数据 这里涉及到,缓存要存在哪里. 一般也是两种方案: 业务侧做缓存. 每个页面自己维护缓存,一般存在db/sp/文件系统中 网络侧做缓存, 业务

Android 开源项目推荐之「网络请求哪家强」

网络请求这个话题基本是所有 App 开发都会遇到的,这也难怪之前很多人留言让我写写网络请求到底该怎么选择,今天就来说说网络请求到底哪家强! 1 原则 本篇说的网络请求专指 http 请求,在选择一个框架之前,我个人有个习惯,就是我喜欢选择专注的库,其实在软件设计领域有一个原则叫做 「单一职责原则」,跟我所说的「专注」不谋而合,一个库能把一件事做好就很不错了.现如今有很多大而全的库,比如这个库可以网络请求,同时又可以图片加载,又可以数据存储,又可以 View 注解等等,我们使用这种库当然方便了,但

aMule v2.3.1 RC1发布 开源免费P2P文件共享软件

aMule是一个开源免费的P2Phttp://www.aliyun.com/zixun/aggregation/18450.html">文件共享软件,遵循GNU通用公共许可证协议发布,aMule起源于lMule,lMule项目由于分歧导致,分裂成了xMule和aMule.aMule类似于eMule,但是比eMule更加的强大的稳定. aMule各个方面都是比较完善的,支持的网络协议有很多,有我们常用的NETBEUI.IPX/SPX.TCP/IP, 也可应用eDonkey网络协议,也支持KA

c++网络库调研

搜索关键词 C++ 网络库 Network Library TCP Server 网络库总结 开源C/C++网络库比较 http://blog.csdn.net/langeldep/article/details/6976120 在开源的C/C++网络库中,常用的就那么几个,在业界知名度最高的,应该是ACE了,不过是个重量级的大家伙,轻量级的有libevent, libev,还有 Boost的ASIO. ACEhttp://www.cs.wustl.edu/~schmidt/ACE.html A

SQL Server 2005中的客户端网络库

SQL Server中的客户端网络库可以使客户端应用程序与SQL Server系统进行连接沟通.本文为大家简 单介绍一些关于SQL Server 2005客户端网络库及其使用的知识,包括四个方面:共享内存.虚拟接口适 配器.命名管道和TCP/IP协议. 在SQL Server中,客户端网络库(Client network library)至关重要,是客户端应用程序和SQL Server系统之间连接沟通的桥梁.客户端必须使用和它需要连接的SQL Server系统相同的客户端网络库. 当客户端通过局

基于AFNetworking封装网络库

阅读原文 基于AFNetworking封装网络库 对于开发人员来说,学习网络层知识是必备的,任何一款App的开发,都需要到网络请求接口.很多朋友都还在使用原生的NSURLConnection一行一行地写,代码到处是,这样维护起来更困难了. 对于使用AFNetworking的朋友来说,很多朋友都是直接调用AFNetworking的API,这样不太好,无法做到全工程统一配置. 最好的方式就是对网络层再封装一层,全工程不允许直接使用AFNetworking的API,必须调用我们自己封装的一层,如此一来