diff --git a/src/network/NetworkServer.cpp b/src/network/NetworkServer.cpp index dbc72d5..8eb6dfd 100644 --- a/src/network/NetworkServer.cpp +++ b/src/network/NetworkServer.cpp @@ -19,10 +19,10 @@ namespace UNO::NETWORK { void Session::send(const std::string &message) { - auto buffer = std::make_shared(message); - asio::async_write(socket_, asio::buffer(*buffer), [this, self = shared_from_this(), buffer](const asio::error_code &ec, size_t) { - if (ec) {} - }); + auto length = std::make_shared(message.size()); + auto msg = std::make_shared(message); + std::array buffers = {asio::buffer(length.get(), sizeof(size_t)), asio::buffer(*msg)}; + asio::async_write(socket_, buffers, [this, self = shared_from_this(), length, msg](const asio::error_code &ec, size_t) {}); } void Session::read()