protected virtual void Dispose(bool disposing) { if (disposing) { _listener?.Dispose(); _listener = null; } }
private void CloseClick(object sender, RoutedEventArgs e) { if (connected) { ni.Icon = iconDisconnected; string str = "Disconnect"; byte[] byteData = Encoding.Unicode.GetBytes(str); receiveControl.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), receiveControl); receiveControl.Shutdown(SocketShutdown.Both); receiveControl.Close(); receiveControl.Dispose(); receiveKeyboard.Shutdown(SocketShutdown.Both); receiveKeyboard.Close(); receiveKeyboard.Dispose(); receiveClipboard.Shutdown(SocketShutdown.Both); receiveClipboard.Close(); receiveClipboard.Dispose(); mouseSocket.Shutdown(SocketShutdown.Both); mouseSocket.Close(); CListener.Dispose(); connected = false; } else { controlSocket.Close(); controlSocket.Dispose(); } Close_Button.IsEnabled = false; Start_Button.IsEnabled = true; }
protected override void StopSerivce() { _listener.RemoveHandler(ClipBoardChangedHandler); _listener.Dispose(); }