• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2013-06-26)  开源项目 |   2 条评论  24 
    文章评分 0 次,平均分 0.0

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

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/1610.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享