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.

UDP
Connectionless datagrams for low-latency messaging, discovery and real-time state.
SSL
TCP
Reliable, ordered streams with configurable buffers and automatic packet splitting.
SSL
HTTP
Serve and consume REST endpoints with routing, headers, payloads and keep-alive.
SSL
WebSocket
Full-duplex text and binary frames over a single connection, with ping/pong control.
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

See it running