C++17 · Asio non-boost · Unreal Engine 4.27+
Networking for C++ and Unreal, without Boost.
Internet Protocol wraps standalone Asio into UDP, TCP, HTTP and WebSocket servers and clients — simple to use, while giving you full control over connections and messages.
#include "ip.hpp"using namespace internetprotocol;int main() { tcp_client_c net; net.on_message_received = [&](const std::vector<uint8_t> &buffer, size_t bytes) { std::cout << buffer_to_string(buffer) << std::endl; }; net.connect(); net.write("Hello, server!", [](const asio::error_code &ec, size_t bytes_sent) { // message sent }); join_threads();}Modules
Every protocol you need, client and server
Each module ships as a header-only C++ class and as a Blueprint-ready Unreal Engine object.
Why Internet Protocol
Simple to start, nothing in your way
Header-only C++17
Drop the headers in your include folder. No Boost, just standalone Asio.
Full control
Manage every connection, buffer and callback yourself — nothing is hidden.
Optional OpenSSL
TLS variants for TCP, HTTP and WebSocket, both server and client side.
Blueprint & JSON
Every module exposed to Blueprints in Unreal, plus a JSON object API.
Get started
Pick your path
C++ header-only library
For any C++17 project. Requires standalone Asio 1.34+ and, optionally, OpenSSL.
- UDP, TCP, HTTP & WebSocket
- Server and client classes
- Callback based, multi-threaded
Unreal Engine plugin
For Unreal Engine 4.27 and above. Use it from Blueprints or C++ through the subsystem.
- Blueprint nodes for every module
- World subsystem factory
- JSON & utility function library
Showcase