A library providing generic interface for transferring data over a network across different platforms.
See the documentation.
- 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
- C99 compiler
- C++17 compiler (optional)
- Git 2.53+
- CMake 3.22+
- vcpkg (Windows only)
- brew (macOS only)
Use building instructions to install all required tools and libraries.
| 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 |
git clone --recursive -j8 https://github.com/cfnptr/nets
- Windows:
./scripts/build-release.bat - macOS / Linux:
./scripts/build-release.sh