A lightweight C++ socket wrapper