public void SendMdnsDiscovery(string name) { ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += OnServiceAdded; serviceBrowser.StartBrowse(name); }
///------------------------------------------------------------------------------------------------- /// <summary> /// Starts discovery of Chromecast dongles in local subnet. Subscribe to <c>DeviceDiscovered</c> to /// receive device information. /// </summary> ///------------------------------------------------------------------------------------------------- public override async void Start() { if (mDnsDiscovery.IsBrowsing) { return; } mDnsDiscovery.ServiceAdded += MDnsDiscovery_ServiceAdded; mDnsDiscovery.ServiceChanged += MDnsDiscovery_ServiceChanged; mDnsDiscovery.ServiceRemoved += MDnsDiscovery_ServiceRemoved; mDnsDiscovery.StartBrowse(); // Start a timer to delay the SSDP discovery. //ssdpShootOffTimer = new Timer((e) => //{ var ssdpTask = new Task(() => { Task.Delay(DiscoveryConstants.SsdpInvocationDelay).Wait(); if (ssdpCancellation.Token.IsCancellationRequested) { Trace.WriteLine("SSDP Cancelled."); return; ssdpCancellation.Token.ThrowIfCancellationRequested(); } Trace.WriteLine("Starting SSDP discovery..."); ssdpDiscovery.DeviceDiscovered += SsdpDiscovery_DeviceDiscovered; ssdpDiscovery.Start(); }, ssdpCancellation.Token); ssdpTask.Start(); //}, this, DiscoveryConstants.SsdpInvocationDelay, Timeout.InfiniteTimeSpan //); }
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); }
private void FormMDNS_Load(object sender, EventArgs e) { List <string> serviceTypes = new List <string>(); serviceTypes.Add("_https._tcp"); serviceTypes.Add("_http._tcp"); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.ServiceRemoved += onServiceRemoved; serviceBrowser.StartBrowse(serviceTypes); }
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); }
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 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> /// Find the available chromecast receivers /// </summary> /// <typeparam name="cancellationToken">Enable to cancel the operation before timeout</typeparam> /// <typeparam name="timeOut">Define custom timeout when required, default is 2000 ms</typeparam> /// <returns>a collection of chromecast receivers</returns> public async Task <IEnumerable <ChromecastReceiver> > FindReceiversAsync(CancellationToken cancellationToken) { if (_serviceBrowser.IsBrowsing) { _serviceBrowser.StopBrowse(); } _serviceBrowser.StartBrowse("_googlecast._tcp"); while (!cancellationToken.IsCancellationRequested) { await Task.Delay(100); } _serviceBrowser.StopBrowse(); return(DiscoveredDevices); }
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 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; }
public CommunicationService() { // Start searching for Ventilators FoundVentilators = new ObservableCollection <Ventilator>(); StayConnected = false; Debug.WriteLine("Creating new service browser"); SB = new ServiceBrowser(); SB.ServiceAdded += OnServiceAdded; SB.ServiceRemoved += OnServiceRemoved; string serviceType = "_venttest._tcp"; Console.WriteLine("Browsing for type: {0}", serviceType); SB.StartBrowse(serviceType); }
static void Main(string[] args) { string[] serviceType = { "_smartec_v1._tcp", "_http._tcp" }; ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.ServiceRemoved += onServiceRemoved; serviceBrowser.ServiceChanged += onServiceChanged; serviceBrowser.WatchedAddresses = new List <IPAddress> { IPAddress.Parse("192.168.2.2") }; Console.WriteLine("Browsing for type: {0}", serviceType); serviceBrowser.StartBrowse(serviceType); Console.ReadLine(); }
/// <summary> /// Do a scan on the network. /// </summary> public void MdnsSearch() { ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += OnServiceAdded; serviceBrowser.ServiceRemoved += OnServiceRemoved; serviceBrowser.ServiceChanged += OnServiceChanged; serviceBrowser.StartBrowse(serviceType); ServiceBrowser serviceBrowserEmbedded = new ServiceBrowser(); serviceBrowserEmbedded.ServiceAdded += OnServiceAdded; serviceBrowserEmbedded.ServiceRemoved += OnServiceRemoved; serviceBrowserEmbedded.ServiceChanged += OnServiceChanged; serviceBrowserEmbedded.StartBrowse(serviceTypeEmbedded); }
public ServiceDiscovery() { shellyList = new List <string>(); serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.ServiceRemoved += onServiceRemoved; serviceBrowser.ServiceChanged += onServiceChanged; Console.WriteLine("Starting-Discovery"); serviceBrowser.StartBrowse(serviceType); Console.WriteLine("Stop-Discovery <Press Enter>\r\n"); Console.ReadLine(); }
public void MdnsSearch() { string serviceType = "_googlecast._tcp"; ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += OnServiceAdded; serviceBrowser.ServiceRemoved += OnServiceRemoved; serviceBrowser.ServiceChanged += OnServiceChanged; serviceBrowser.StartBrowse(serviceType); string serviceTypeEmbedded = "_googlezone._tcp"; ServiceBrowser serviceBrowserEmbedded = new ServiceBrowser(); serviceBrowserEmbedded.ServiceAdded += OnServiceAdded; serviceBrowserEmbedded.ServiceRemoved += OnServiceRemoved; serviceBrowserEmbedded.ServiceChanged += OnServiceChanged; serviceBrowserEmbedded.StartBrowse(serviceTypeEmbedded); }
static void Main(string[] args) { string serviceType = "_workstation._tcp"; if (args.Length >= 1) { serviceType = args[0]; } ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.ServiceRemoved += onServiceRemoved; serviceBrowser.ServiceChanged += onServiceChanged; Console.WriteLine("Browsing for type: {0}", serviceType); serviceBrowser.StartBrowse(serviceType); Console.ReadLine(); }
static void Main(string[] args) { string serviceType = "_reach._tcp"; if (args.Length >= 1) { serviceType = args[0]; } ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.ServiceRemoved += onServiceRemoved; serviceBrowser.ServiceChanged += onServiceChanged; Console.WriteLine("searching for reach devices... pres Enter to exit"); serviceBrowser.StartBrowse(serviceType); Console.ReadLine(); }
static void Main(string[] args) { List <string> serviceTypes = new List <string>(); serviceTypes.Add("_https._tcp"); serviceTypes.Add("_http._tcp"); ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.ServiceRemoved += onServiceRemoved; serviceBrowser.ServiceChanged += onServiceChanged; Console.WriteLine("Browsing for types: "); serviceBrowser.StartBrowse(serviceTypes); //Thread.Sleep(10000); //serviceBrowser.StopBrowse(); Console.WriteLine("Stop Browse"); Console.ReadLine(); }
/// <summary> /// Do a scan on the network. /// </summary> public void MdnsSearch() { ServiceBrowser serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += OnServiceAdded; serviceBrowser.ServiceRemoved += OnServiceRemoved; serviceBrowser.ServiceChanged += OnServiceChanged; serviceBrowser.StartBrowse(serviceType); ServiceBrowser serviceBrowserEmbedded = new ServiceBrowser(); serviceBrowserEmbedded.ServiceAdded += OnServiceAdded; serviceBrowserEmbedded.ServiceRemoved += OnServiceRemoved; serviceBrowserEmbedded.ServiceChanged += OnServiceChanged; serviceBrowserEmbedded.StartBrowse(serviceTypeEmbedded); var mdns = new MulticastService(); mdns.AnswerReceived += Mdns_AnswerReceived; mdns.Start(); }
public void Advertise() { mdns = new MulticastService(); mdns.QueryReceived += Mdns_QueryReceived; mdns.AnswerReceived += Mdns_AnswerReceived; mdns.MalformedMessage += Mdns_MalformedMessage; mdns.Start(); // For future use: serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += OnServiceAdded; serviceBrowser.ServiceRemoved += OnServiceRemoved; serviceBrowser.ServiceChanged += OnServiceChanged; serviceBrowser.StartBrowse(serviceType); serviceBrowserEmbedded = new ServiceBrowser(); serviceBrowserEmbedded.ServiceAdded += OnServiceAdded; serviceBrowserEmbedded.ServiceRemoved += OnServiceRemoved; serviceBrowserEmbedded.ServiceChanged += OnServiceChanged; serviceBrowserEmbedded.StartBrowse(serviceTypeEmbedded); }
void startmDnsScan() { message.Text = "Searching for your esprgb devices"; clearDevices(); scanTimer = new System.Timers.Timer(); scanTimer.Elapsed += scanTimer_Tick; scanTimer.AutoReset = false; scanTimer.Interval = 30000; string serviceType = "_esprgb._tcp"; serviceBrowser = new ServiceBrowser(); serviceBrowser.ServiceAdded += (object sender, ServiceAnnouncementEventArgs e) => { message.Text = ""; AddNewButtonToList(e.Announcement.Hostname.ToString() + ".local", string.Join(", ", e.Announcement.Addresses)); }; serviceBrowser.StartBrowse(serviceType); scanTimer.Start(); }
static void Main(string[] args) { // Simple packet test: // SimplePacketTest simplePacketTest = new SimplePacketTest(); // mDNS: string serviceType = "_workstation._tcp"; if (args.Length >= 1) { serviceType = args[0]; } ServiceBrowser serviceBrowser = new ServiceBrowser(5354, "local"); serviceBrowser.ServiceAdded += onServiceAdded; serviceBrowser.ServiceRemoved += onServiceRemoved; serviceBrowser.ServiceChanged += onServiceChanged; Console.WriteLine("Browsing for type: {0}", serviceType); serviceBrowser.StartBrowse(serviceType); Console.ReadLine(); }
/// <summary> /// Discover all the nanoleaf systems on the network /// </summary> /// <param name="timeoutInMs">the discover scan timeout</param> /// <returns>list of light systems</returns> public async Task <IList <ILightSystem> > DiscoverAsync(int timeoutInMs = 5000) { var systems = new List <ILightSystem>(); var systemsLock = new object(); var discover = new ServiceBrowser(); discover.ServiceAdded += (object sender, ServiceAnnouncementEventArgs e) => { lock (systemsLock) { systems.AddRange(e.Announcement.Addresses .Select(addr => new IPEndPoint(addr, e.Announcement.Port)) .Select(endpoint => new NanoleafLightSystem(endpoint))); } }; discover.StartBrowse(ServiceName); await Task.Delay(timeoutInMs); discover.StopBrowse(); return(systems); }
public void StartDiscovery() { serviceBrowser.StartBrowse("_http._tcp"); }