Will wait for all data to be sent before closing.
public void Close() { _socket.Shutdown(SocketShutdown.Send); _closeEvent.Wait(5000); IsConnected = false; }