A library providing generic interface for transferring data over a network across different platforms.
- Blocking / non-blocking socket
- Stream client / server (TCP)
- Datagram client / server (UDP)
- Secure socket layer (OpenSSL)
- Datagrams over TCP stream
- HTTP client (TLS, Compression)
- Windows (10/11)
- Ubuntu (22.04/24.04)
- macOS (14/15)
This list includes only those systems on which functionality testing is conducted. However, you can also compile it under any other Linux distribution or operating system.
- C99 compiler
- Git 2.30+
- 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 https://github.com/cfnptr/nets
- Windows:
./scripts/build-release.bat
- macOS / Ubuntu:
./scripts/build-release.sh