I think WSACleanup is to clean up the resources alloc by WSAStart(), so, we need only call WSACleanup once when CCConsole exit.