public void Close() { if (_connector != null) { _connector.ConnectEvent -= new ConnectEventHandler(ApolloConnectHandler); _connector.RecvedDataEvent -= new RecvedDataHandler(ApolloRecievedDataEventHandler); _connector.ErrorEvent -= new ConnectorErrorEventHandler(ApolloErrorHandler); _connector.DisconnectEvent -= new DisconnectEventHandler(ApolloDisconnectHandler); _connector.ReconnectEvent -= new ReconnectEventHandler(ApolloReconnectHandler); if (_connector.Connected) { _connector.Disconnect(); } _connector = null; } if (_protocol != null) { _protocol.Clear(); _protocol = null; } }