public void RegisterDiscoveryHandler(ServerDiscoveredHandler handler)
        {
            // Add handler and increment count
            ServerDiscovered += handler;
            ++handlerCount;

            // If this is the first handler, start discovery
            if (handlerCount == 1)
                StartDiscovery();
        }
        public void UnregisterDiscoveryHandler(ServerDiscoveredHandler handler)
        {
            // Decrement count
            --handlerCount;

            // Stop discovery if this is the last handler
            if (handlerCount == 0)
                StopDiscovery();

            // Remove handler
            ServerDiscovered -= handler;
        }
        public void RegisterDiscoveryHandler(ServerDiscoveredHandler handler)
        {
            // Add handler and increment count
            ServerDiscovered += handler;
            ++handlerCount;

            // If this is the first handler, start discovery
            if (handlerCount == 1)
            {
                StartDiscovery();
            }
        }
        public void UnregisterDiscoveryHandler(ServerDiscoveredHandler handler)
        {
            // Decrement count
            --handlerCount;

            // Stop discovery if this is the last handler
            if (handlerCount == 0)
            {
                StopDiscovery();
            }

            // Remove handler
            ServerDiscovered -= handler;
        }