A simple portable C++ networking library designed for video games.
- Very early in development.
- Only static linking is currently supported.
Any system with Unix socket API or WinSock2 API and >= C++11 should work.
For CMake (>=v3.13), add add_subdirectory() to your CMakeLists.txt and link to the KoiNet library.
- GNU gcc (with WSL)
- MSVC
- MinGW
This is an exercise to better learn best practices with low-level network programming.
- Be familiar to those who know the C workflow but easier/simpler to use.
- Minimize the amount of global namespace pollution (e.g., minimize use of preprocessor statements, etc.).
- API is exactly the same across each supported platform; user code should not have to change between each platform.
- Provide access to all features available when possible.
- Use no exceptions.
- Minimal-overhead abstraction.
- Use C++ compliant with standard.
- Keep binary size small.
- No warnings if possible.
- Minimize the amount of jank user needs to deal with.
Koi are both pleasing to the eye and resilient.