protected override void Dispose(bool disposing)
 {
     if (disposing && _client != null)
     {
         _client.Dispose();
     }
 }
        public void Dispose()
        {
            stop = true;
            if (messagePump != null)
            {
                messagePump.Wait();
            }

            if (_client != null)
            {
                _client.Dispose();
                _client = null;
            }
        }
 public void Disconnect()
 {
     _client.Dispose();
 }