protected virtual void Dispose(bool isDisposing) { if (_isDisposed) { return; } if (isDisposing) { if (tcpClientProvider != null) { tcpClientProvider.Dispose(); } if (udpClientProvider != null) { udpClientProvider.Dispose(); } _isDisposed = true; } }