private void ConnectComplete(IAsyncResult ar) { try { _baseSocket.EndConnect(ar); // -- End the connection event.. IsConnected = true; // -- Flag the system as connected _baseStream = _baseSocket.GetStream(); _baseStream.BeginRead(_readBuffer, 0, ReadSize, ReadComplete, null); // -- Begin reading data Connected?.SafeRaise(new SocketConnectedArgs(this)); // -- Trigger the socket connected event. } catch (Exception ex) { IsConnected = false; ErrorReceived?.SafeRaise(new SocketErrorArgs(this, "Error during connect: " + ex.Message)); } }