Click or drag to resize

NetworkDiscoverer Class

A class used to discover printers on an IP Network.
Inheritance Hierarchy
SystemObject
  Zebra.Sdk.Printer.DiscoveryNetworkDiscoverer

Namespace: Zebra.Sdk.Printer.Discovery
Assembly: SdkApi.Core (in SdkApi.Core.dll) Version: 3.0.3271
Syntax
public class NetworkDiscoverer

The NetworkDiscoverer type exposes the following members.

Methods
 NameDescription
Public methodStatic memberDirectedBroadcast(DiscoveryHandler, String) Sends a directed broadcast discovery packet to the subnet specified by ipAddress.
Public methodStatic memberDirectedBroadcast(DiscoveryHandler, String, Int32) Sends a directed broadcast discovery packet to the subnet specified by ipAddress.
Public methodEquals
(Inherited from Object)
Public methodStatic memberFindPrinters(DiscoveryHandler) This method will search the network using a combination of discovery methods to find printers on the network.
Public methodStatic memberFindPrinters(DiscoveryHandler, ListString) Sends a discovery request to the list of printer DNS names or IPs in printersToFind.
Public methodStatic memberFindPrinters(DiscoveryHandler, ListString, Int32) Sends a discovery request to the list of printer DNS names or IPs in printersToFind.
Public methodGetHashCode
(Inherited from Object)
Public methodGetType
(Inherited from Object)
Public methodStatic memberLocalBroadcast(DiscoveryHandler) Sends a local broadcast packet.
Public methodStatic memberLocalBroadcast(DiscoveryHandler, Int32) Sends a local broadcast packet.
Public methodStatic memberMulticast(DiscoveryHandler, Int32) Sends a multicast discovery packet.
Public methodStatic memberMulticast(DiscoveryHandler, Int32, Int32) Sends a multicast discovery packet.
Public methodStatic memberSubnetSearch(DiscoveryHandler, String) Sends a discovery packet to the IPs specified in the subnetRange.
Public methodStatic memberSubnetSearch(DiscoveryHandler, String, Int32) Sends a discovery packet to the IPs specified in the subnetRange.
Public methodToString
(Inherited from Object)
Top
Example
C#
using System;
using System.Collections.Generic;
using Zebra.Sdk.Printer.Discovery;

public class NetworkDiscovererExample {

    public static void Main(string[] args) {
        try {
            Console.WriteLine("Starting printer discovery.");

            NetworkDiscoveryHandler discoveryHandler = new NetworkDiscoveryHandler();
            NetworkDiscoverer.FindPrinters(discoveryHandler);
            while (!discoveryHandler.DiscoveryComplete) {
                System.Threading.Thread.Sleep(10);
            }
        } catch (DiscoveryException e) {
            Console.WriteLine(e.ToString());
        }
    }

    private class NetworkDiscoveryHandler : DiscoveryHandler {

        private bool discoveryComplete = false;
        List<DiscoveredPrinter> printers = new List<DiscoveredPrinter>();

        public void DiscoveryError(string message) {
            Console.WriteLine($"An error occurred during discovery: {message}.");
            discoveryComplete = true;
        }

        public void DiscoveryFinished() {
            foreach (DiscoveredPrinter printer in printers) {
                Console.WriteLine(printer);
            }
            Console.WriteLine($"Discovered {printers.Count} Link-OS™ printers.");
            discoveryComplete = true;
        }

        public void FoundPrinter(DiscoveredPrinter printer) {
            printers.Add(printer);
        }

        public bool DiscoveryComplete {
            get => discoveryComplete;
        }
    }
}
See Also