#pragma once #include class SimpleTCPServer { protected: boost::asio::io_context io_context; boost::asio::ip::tcp::acceptor acceptor; void SetupAsyncAccept(); public: SimpleTCPServer(uint16_t port); virtual void OnClientConnected(boost::asio::ip::tcp::socket) = 0; void RunTCPServer(); void StopTCPServer(); };