public void SendMdnsDiscovery(string name) { ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += OnServiceAdded; serviceBrowser.StartBrowse(name); }
public ProPresenterDataAgent(IConfigManager configManager, ILogger logger) { _instances = new List <ProPresenterInstance>(); _serviceBrowser = new ServiceBrowser(); _serviceBrowser.ServiceAdded += OnServiceAdded; _serviceBrowser.ServiceRemoved += OnServiceRemoved; _logger = logger; try { _password = configManager.GetConfig(ConfigKeys.ProPresenterPassword); } catch (Exception e) { _password = ""; _logger.LogError("Error reading configuration file", e); configManager.EditConfig(ConfigKeys.ProPresenterPassword, _password); configManager.SaveConfig(); } Connected = false; Connecting = false; StopListening = false; }
protected virtual void Dispose(bool disposing) { if (disposing) { try { Stop(); if (this.serviceBrowser != null) { this.serviceBrowser.ServiceAdded -= new ServiceBrowseEventHandler(serviceBrowser_ServiceAdded); this.serviceBrowser.ServiceRemoved -= new ServiceBrowseEventHandler(serviceBrowser_ServiceRemoved); this.serviceBrowser.Dispose(); this.serviceBrowser = null; } } catch { // suppress } } }
public void Stop() { if (dnsSD != null) { dnsSD.Dispose(); dnsSD = null; } if (slpUser != null) { slpUser.Close(); slpUser = null; } if (acnSocket != null) { acnSocket.Close(); acnSocket = null; } if (reliableSocket != null) { reliableSocket.Dispose(); reliableSocket = null; } }
public void Start() { if (acnSocket == null || !acnSocket.PortOpen) { acnSocket = new RdmNetSocket(UId.NewUId(0xFF), Guid.NewGuid(), "RDM Snoop"); acnSocket.NewRdmPacket += acnSocket_NewRdmPacket; acnSocket.Open(new IPEndPoint(LocalAdapter, 0)); } #if SLP_Discovery slpUser = new SlpUserAgent("ACN-DEFAULT"); slpUser.NetworkAdapter = localAdapter; slpUser.ServiceFound += new EventHandler <ServiceFoundEventArgs>(slpUser_ServiceFound); slpUser.Open(); slpUser.Find("service:rdmnet-device"); #endif #if mDNS_Discovery dnsSD = new ServiceBrowser(); dnsSD.ServiceAdded += dnsSD_ServiceAdded; dnsSD.Browse("_rdmnet._udp", "local"); #endif }
private void Browse() { browser = new ServiceBrowser(); browser.ServiceAdded += OnServiceAdded; browser.ServiceRemoved += OnServiceRemoved; browser.Browse(0, AddressProtocol.Any, RAOP_MDNS_TYPE, "local"); }
public Task <string> GetValidHostName(string hostName) { if (hostName.StartsWith("http://")) { hostName = hostName.Substring(7); } TaskCompletionSource <string> tcs; if (_tcss.TryGetValue(hostName, out tcs)) { return(tcs.Task); } tcs = new TaskCompletionSource <string>(); _tcss[hostName] = tcs; var cancellationTokenSource = new CancellationTokenSource(1000); cancellationTokenSource.Token.Register( () => tcs.TrySetException(new InvalidOperationException("It took too long to resolve " + hostName))); ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += OnService; serviceBrowser.ServiceRemoved += OnService; serviceBrowser.ServiceChanged += OnService; serviceBrowser.StartBrowse("_http._tcp", useSynchronizationContext: false); return(tcs.Task); }
/// <summary> /// Starts the service browser that monitors for other Bonjour services. /// </summary> public void Start() { if (isSupported && !this.isStarted) { try { this.serviceBrowser = new ServiceBrowser(); this.serviceBrowser.ServiceAdded += new ServiceBrowseEventHandler(serviceBrowser_ServiceAdded); this.serviceBrowser.ServiceRemoved += new ServiceBrowseEventHandler(serviceBrowser_ServiceRemoved); // BUG WORKAROUND: The ZeroConf library has a bug in it where AddressProtocol.Any eventually // tries to do something with an IPv6 request and the call never returns. In practice, this causes // the detection of service removals to never be triggered. As a temporary fix, we have to // explicitly specify IPv4 for now. this.serviceBrowser.Browse(AddressProtocol.IPv4, Growl.Daemon.GrowlServer.BONJOUR_SERVICE_TYPE, null); this.isStarted = true; } catch (Exception ex) { Utility.WriteDebugInfo(String.Format("Bonjour service browser not started - {0}", ex.Message)); isStarted = false; } } }
public CanDiscoveryService(string mDnsService, string mDnsDomain) { _cans = new List <Can>(); // _cans.Add(new Can("skynet.io", "skynet.io")); try { _browser = new ServiceBrowser(); _browser.ServiceAdded += ServiceAdded; _subject = new Subject <IEnumerable <Can> >(); var conn = _subject.Replay(1); conn.Connect(); Cans = conn; _browser.Browse(0, AddressProtocol.Any, mDnsService, mDnsDomain); } catch (Exception ex) { Cans = Observable.Throw <IEnumerable <Can> >(ex); } }
public async void Stop() { if (mServer == null) { throw new InvalidOperationException(); } timer.Change(Timeout.Infinite, Timeout.Infinite); var closeTask = mServer.CloseAsync(); mServer = null; mConfig = null; try { serviceRegister.Dispose(); } catch { } serviceRegister = null; try { sb.Dispose(); } catch { } sb = null; await closeTask; lock (knownHosts) knownHosts.Clear(); }
public void Stop() { if (reliableSocket != null) { reliableSocket.Dispose(); reliableSocket = null; } if (slpUser != null) { slpUser.Dispose(); slpUser = null; } #if mDNS_Discovery if (dnsSD != null) { dnsSD.Dispose(); dnsSD = null; } #endif if (rdmNetSocket != null) { rdmNetSocket.Close(); rdmNetSocket = null; } }
/// <summary> /// Starts a discovery process /// </summary> public void Find(DiscoveryType type = DiscoveryType.WsDiscovery) { ActivityServices.Clear(); #if !ANDROID switch (type) { case DiscoveryType.WsDiscovery: using (var wsBrowser = new DiscoveryClient(new UdpDiscoveryEndpoint())) { wsBrowser.FindProgressChanged += WsBrowserFindProgressChanged; wsBrowser.FindCompleted += WsBrowserFindCompleted; wsBrowser.FindAsync(new FindCriteria(typeof(IDiscovery))); } break; case DiscoveryType.Zeroconf: { var zcBrowser = new ServiceBrowser(); zcBrowser.ServiceAdded += zcBrowser_ServiceAdded; zcBrowser.Browse("_am._tcp", "local"); } break; } #else Probe(); #endif }
protected override void Initialize() { browser = new ServiceBrowser(); browser.ServiceAdded += delegate(object o, ServiceBrowseEventArgs args) { Console.WriteLine("Found Service: {0}", args.Service.Name); args.Service.Resolved += delegate(object o2, ServiceResolvedEventArgs args2) { lock (resolveLock) { IResolvableService s = (IResolvableService)args2.Service; ServiceLocation loc = new ServiceLocation(s.HostEntry.AddressList[0], s.Port, s.FullName); Logger.Info("A new ethernet interface was found"); SmartScopeInterfaceEthernet ethif = new SmartScopeInterfaceEthernet(loc.ip, loc.port, OnInterfaceDisconnect); if (ethif.Connected) { createdInterfaces.Add(loc, ethif); if (onConnect != null) { onConnect(ethif, true); } } else { Logger.Info("... but could not connect to ethernet interface"); } } }; args.Service.Resolve(); }; browser.Browse(Net.Net.SERVICE_TYPE, Net.Net.REPLY_DOMAIN); }
// // Configure the code that will be called back when the information // becomes available // public void Start() { browser = new ServiceBrowser(); browser.ServiceAdded += OnServiceAdded; browser.ServiceRemoved += OnServiceRemoved; browser.Browse("_dpap._tcp", "local"); }
private static void OnServiceTypeAdded(object o, ServiceTypeInfoArgs args) { Console.WriteLine("Got service type: " + args.ServiceType.ServiceType); ServiceBrowser sb = new ServiceBrowser(client, args.ServiceType.ServiceType, args.ServiceType.Domain); objects.Add(sb); sb.ServiceAdded += OnServiceAdded; }
public void Stop() { if (browser != null) { browser.Dispose(); browser = null; } services.Clear(); }
public void Dispose() { if (browser == null) { return; } browser.Dispose(); browser = null; }
public void Start() { try { sb = new ServiceBrowser(client, "_ldap._tcp"); sb.ServiceAdded += OnServiceAdded; sb.ServiceRemoved += OnServiceRemoved; } catch (Exception e) { Log.Debug(e); } }
public void BrowseServices() { if (browser == null) { browser = new ServiceBrowser(); browser.ServiceAdded += new ServiceBrowseEventHandler(browser_ServiceAdded); browser.ServiceRemoved += new ServiceBrowseEventHandler(browser_ServiceRemoved); browser.Browse(0, AddressProtocol.Any, ZEROCONF_NAME, "local"); } }
public void Stop() { if (browser != null) { lock (locker) { services.Clear(); } browser.Dispose(); browser = null; } }
private void OnNetworkStateChanged(object o, NetworkStateChangedArgs args) { if (!args.Connected) { browser.Dispose(); browser = null; return; } Browse(); }
public void Start() { if (browser != null) { Stop(); } browser = new ServiceBrowser(); browser.ServiceAdded += OnServiceAdded; browser.ServiceRemoved += OnServiceRemoved; browser.Browse("_daap._tcp", null); }
public void Start() { if (browser == null) { browser = new ServiceBrowser(); browser.ServiceAdded += OnServiceAdded; browser.ServiceRemoved += OnServiceRemoved; browser.Browse("_giver._tcp", "local"); } }
public MdnsListener(string name, string type) { Available = new List <Device>(); serviceName = name; serviceType = type; // enable service browser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.ServiceChanged += onServiceChanged; serviceBrowser.ServiceRemoved += onServiceRemoved; serviceBrowser.StartBrowse(type); }
private void DiscoverHost() { var id = Thread.CurrentThread.ManagedThreadId; var serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += ServiceBrowser_ServiceAdded; serviceBrowser.StartBrowse("_ledsrv._tcp", false); while (_serviceAnnouncement == null) { Thread.Sleep(10); } }
public DiscoveryManager(UdpManager udpManager) { _udpManager = udpManager; DeviceInfos = new Dictionary <string, DeviceInfo>(); _serviceBrowser = new ServiceBrowser(); _serviceBrowser.ServiceAdded += OnServiceAdded; _serviceBrowser.ServiceRemoved += OnServiceRemoved; _serviceBrowser.ServiceChanged += OnServiceChanged; Debug.WriteLine($"Browsing for type: {ServiceType}"); _serviceBrowser.StartBrowse(ServiceType); }
private void refresh_mdns_Click(object sender, RoutedEventArgs e) { new Action(() => { node.Log("开始扫描MDNS"); ServiceBrowser browser = new ServiceBrowser(); SynchronizationContext context = new SynchronizationContext(); browser.StartBrowse("*", context); Thread.Sleep(3000); browser.StopBrowse(); node.Log("更新结果"); Dispatcher.Invoke(() => mdns_result.ItemsSource = browser.Services); }).ThreadStart(() => Dispatcher.Invoke(() => refresh_mdns.IsEnabled = false), () => Dispatcher.Invoke(() => refresh_mdns.IsEnabled = true)); }
public SetupWindow(MainWindow parent = null) { _parent = parent; InitializeComponent(); setupViewModel = new SetupViewModel(); discoveredDevices = new List <Device>(); ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.StartBrowse("_nanoleafapi._tcp"); }
/// <summary> /// Stops monitoring for other Bonjour services. /// </summary> public void Stop() { if (this.isStarted) { if (this.serviceBrowser != null) { this.serviceBrowser.ServiceAdded -= serviceBrowser_ServiceAdded; this.serviceBrowser.ServiceRemoved -= serviceBrowser_ServiceRemoved; this.serviceBrowser.Dispose(); this.serviceBrowser = null; } this.isStarted = false; } }
public DiscoveryManager(AgentAdded agentAdded) { ServiceAgents = new List <ServiceAgent>(); var serviceType = "_ucr._udp"; _serviceBrowser = new ServiceBrowser(); _serviceBrowser.ServiceAdded += OnServiceAdded; _serviceBrowser.ServiceRemoved += OnServiceRemoved; _serviceBrowser.ServiceChanged += OnServiceChanged; Debug.WriteLine($"Browsing for type: {serviceType}"); _serviceBrowser.StartBrowse(serviceType); AgentAddedEvent += agentAdded; }