当前位置:职场发展->招聘 ->Linux系统工程师-小米社会招聘-互联网名企招聘

原创版权标志windows中高效的网络库

作者:lg244595548  发表时间:2017/12/15 9:05:30  阅读:
[摘要] C++技术网已经用心解答了用户提出的问题【windows中高效的网络库】,如还有问题,请继续在文章底部留言交流,直到完全懂了为止。
使用支付宝扫码领红包,余额宝付款才可以使用红包哦!不要忘记哈。每天扫一次,天天赚红包!!可以将二维码保存到手机,每天直接扫码领红包啦!!
请问有那些c/++网络库  支持windows   

C++技术网会员解答:

    您好,感谢您对C++技术网的支持与信任。

以下是帮您搜集的网络库:

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

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

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

(10)libuv ,http://docs.libuv.org/en/v1.x/

   这是node.js使用的跨平台高性能网络库,我正在使用的网络库。

(11)Windows本身自带的就有IOCP,即完成端口,是高性能网络通信技术,libuv在Windows上就是使用的IOCP。

微信扫码关注公众号CPP技术网,微信号cpp_coder,关注我们的公众号,阅读更多精彩内容!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!
文章来源:C++技术网原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。

返回顶部

在线提问
问题标题:
问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)