(1)ACE
庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。
http://www.cs.wustl.edu/~schmidt/ACE.html
(2)Asio
Asio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。
开源、免费,支持跨平台。
GitHub - chriskohlhoff/asio: Asio C++ Library
https://github.com/boostorg/asio
https://github.com/boostorg/beast
https://github.com/zhllxt/asio2
header only,不依赖boost库,不需要单独编译,在工程的Include目录中添加asio2路径,在源码中#include <asio2/asio2.hpp>即可使用;
(3)POCO
POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操作、共享库和类加载、套接字以及网络协议包括:HTTP、 FTP、SMTP 等;其本身还包含一个 HTTP 服务器,提供 XML 的解析和 SQL 数据库的访问接口。POCO库的模块化、高效的设计及实现使得POCO特别适合嵌入式开发。在嵌入式开发领域,由于C++既适合底层(设备I/O、中断处理等)和高层面向对象开发,越来越流行。
POCO C++ Libraries - Simplify C++ Development
(4)libevent
Libevent是一个轻量级的开源高性能网络库,从它的官网标题:libevent-an event notification library就能知道它的机制是采用事件触发,封装了以下三种事件的响应:IO事件,定时器事件,信号事件。select模型来实现跨平台的操作,Windows环境下支持IOCP。Google的开源WEB浏览器Chromium在Mac和Linux版本中,也使用了Libevent,足见该库的质量。
(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协议, 高度可定制的错误处理。
C++ Sockets Library: Unix & Windows networking made easy
(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是一个不错的选择。
libcurl - the multiprotocol file transfer library
(8)libuv
libuv | Cross-platform asynchronous I/O
https://github.com/libuv/libuv
Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library
https://github.com/skypjack/uvw
(9)libhv
比libevent、libuv更易用的国产网络库。
https://github.com/ithewei/libhv
(10)ACL
https://github.com/acl-dev/acl
(11)HP-Socket
https://github.com/ldcsaa/HP-Socket
DeskSocket
是一款用于测试网络通信的桌面(Windows 10
)工具软件,软件支持 TCP 服务端
、TCP 客户端
、UDP 服务端
和UDP 客户端
四种工作模式;同时对每种模式提供几种重要的菜单功能,满足程序员日常工作中对网络数据通信测试的需求。
https://github.com/Mtr1994/DeskSocket
(12)Sogou C++ Workflow
https://github.com/sogou/workflow
(13)muduo
https://github.com/chenshuo/muduo
(14)ananas
https://github.com/loveyacper/ananas
(15)FxSocket
Windows UDP LAN communication
https://github.com/mxc19781024/FxSockethttps://github.com/mxc19781024/FxSockethttps://github.com/Poofee/FEEMhttps://github.com/Poofee/FEEM
(16)C#之HslCommunication
一个非常流行的工业物联网通信插件。使用此dll可以非常方便、稳定、快速地从多个品牌的PLC设备中获取数据,并且还支持redis、mqtt、websocket等,可以让您的数据在网络上自由传输,降低企业开发成本。
https://github.com/dathlin/HslCommunication