A simple c++ socket wrapper