public NetworkServiceBrowser(string serviceType, string domain = "local", ILogger logger = null)
 {
     _serviceType           = serviceType.UnderscorePrefix();
     _domain                = domain;
     _clients               = Zeroconf.CreateMulticastClients().ToList();
     _services.ItemAdded   += OnServiceAdded;
     _services.ItemRemoved += OnServiceRemoved;
     _logger                = logger ?? new NullLogger();
 }
Esempio n. 2
0
 public NetworkServicePublisher(string instanceName, string serviceType, ushort port, string domain = "local", ILogger logger = null)
 {
     InstanceName = instanceName.WithoutPostfix();
     ServiceType  = serviceType.UnderscorePrefix();
     Domain       = domain;
     Port         = port;
     Host         = Guid.NewGuid().ToString("N");
     _clients     = Zeroconf.CreateMulticastClients().ToList();
     _logger      = logger ?? new NullLogger();
 }
        private void CheckBonjour()
        {
            // check if bonjour is enabled
            BackgroundWorker bw = new BackgroundWorker();

            bw.DoWork += delegate(object source, DoWorkEventArgs args)
            {
                args.Result = Zeroconf.CheckBonjourInstallation();
            };
            bw.RunWorkerCompleted += delegate(object source, RunWorkerCompletedEventArgs args)
            {
                tbAutodetection.Inlines.Clear();
                tbAutodetection.Inlines.Add(UI.AutodetectionText);

                if (!(bool)args.Result)
                {
                    tbAutodetection.Inlines.Add(new LineBreak());
                    tbAutodetection.Inlines.Add(UI.BonjourNotInstalled.Trim());
                    Hyperlink link = new Hyperlink();
                    link.NavigateUri      = new Uri("http://support.apple.com/kb/DL999");
                    link.RequestNavigate += CommonEventHandlers.NavigateHyperlink;
                    link.Inlines.Add(UI.BonjourNotInstalledDownload);
                    tbAutodetection.Inlines.Add(" ");
                    tbAutodetection.Inlines.Add(link);

                    cbBonjourEnabled.IsChecked = false;
                }
                else
                {
                    lblServiceName.IsEnabled   = true;
                    cbBonjourEnabled.IsEnabled = true;
                    cbBonjourEnabled.IsChecked = Configuration.Services.BonjourEnabled;
                    txtServiceName.IsEnabled   = true;
                }
            };
            bw.RunWorkerAsync();
        }
Esempio n. 4
0
        public static void Main(string[] args)
        {
            string serviceName = "_xboxcol._tcp.local.";

            System.Console.WriteLine("Zeroconf Sample Application");
            Zeroconf       zeroconf = new Zeroconf();
            MyListener     listener = new MyListener();
            ServiceBrowser browser  = new ServiceBrowser(zeroconf, serviceName,
                                                         listener: listener);

            System.Console.WriteLine("Press ESC to stop application");
            bool run = true;

            while (run)
            {
                if (System.Console.ReadKey().Key == ConsoleKey.Escape)
                {
                    run = false;
                }
            }

            System.Console.WriteLine("Bye!");
            zeroconf.Close();
        }
Esempio n. 5
0
 public void RemoveService(Zeroconf zc, string type, string name)
 {
     System.Console.WriteLine("Service {0} removed", name);
 }
Esempio n. 6
0
        public void AddService(Zeroconf zc, string type, string name)
        {
            ServiceInfo info = zc.GetServiceInfo(type.ToString(), name);

            System.Console.WriteLine("Service {0} added, info: {1}", name, info);
        }