public void Dispose()
 {
     if (_disposed)
     {
         return;
     }
     _disposed = true;
     _listener.Shutdown().Wait();
     _listener.Dispose();
 }