C++ network programming foundation