A library providing generic interface for transferring data over a network across different platforms.
See the documentation.
Features
- Blocking / non-blocking socket
- Stream client / server (TCP)
- Datagram client / server (UDP)
- Secure socket layer (SSL, TLS)
- Datagrams over TCP stream
- Smart stream message handle
- C and C++ implementations
Build requirements
Use building instructions to install all required tools and libraries.
CMake options
| Name | Description | Default value |
| NETS_BUILD_EXAMPLES | Build Nets usage examples | ON |
| NETS_USE_OPENSSL | Use OpenSSL for secure communication | ON |
| NETS_ALLOW_DEPRECATED_SSL | Allow deprecated OpenSSL functions | OFF |
Cloning
git clone --recursive -j8 https://github.com/cfnptr/nets
Building 
- Windows: ./scripts/build-release.bat
- macOS / Linux: ./scripts/build-release.sh
Third-party
- cURL (curl License)
- mpmt (Apache-2.0 License)
- mpio (Apache-2.0 License)
- OpenSSL (Apache-2.0 License)
Inspired by
Special thanks to Gigaflops.