private void EventManager_ServiceResolved(DNSSDService service, DNSSDFlags flags, uint ifIndex, string fullname, string hostname, ushort port, TXTRecord record) { try { strRoutine = this.Name + "; " + MethodBase.GetCurrentMethod().Name + "; "; //throw new NotImplementedException(); Console.WriteLine("-------------------eventManager_ServiceResolved---------------------"); Console.WriteLine("DNSSDService " + service + "\nDNSSDFlags " + flags + "\nifindex " + ifIndex + "\nfullname " + fullname + "hostname " + hostname + "\nport " + port + "\nrecord " + record); //var str = System.Text.Encoding.Default.GetString(record.GetValueForKey("macaddress")); //Console.WriteLine("mac " + str); Console.WriteLine("----------------------------------------"); DNSSDEventManager eventManager = new DNSSDEventManager(); //**********AddressFound************// eventManager.AddressFound += new _IDNSSDEvents_AddressFoundEventHandler(eventManager_AddressFound); DNSSDAddressFamily family = new DNSSDAddressFamily(); service.GetAddrInfo(flags, ifIndex, family, hostname, eventManager); } catch (Exception ex) { csLog.LogError(strRoutine + ex.Message); } }
void eventManager_ServiceFound(DNSSDService browser1, DNSSDFlags flags, uint ifIndex, string serviceName, string regtype, string domain) { strRoutine = this.Name + "; " + MethodBase.GetCurrentMethod().Name + "; "; try { Console.WriteLine("browser: " + browser1 + "\nDNSSDFlags " + flags + "\nifIndex " + ifIndex + "\nserviceName: " + serviceName + "\nregtype: " + regtype + "\ndomain: " + domain); mac = serviceName; String St = serviceName; int pFrom = St.IndexOf("[") + "[".Length; int pTo = St.LastIndexOf("]"); int pFrom1 = St.IndexOf("") + "".Length; int pTo1 = St.LastIndexOf("["); String result = St.Substring(pFrom, pTo - pFrom); String result1 = St.Substring(pFrom1, pTo1 - pFrom1); mac = result; macHost = result1; row = new string[] { mac, macHost, "-", "-" }; dataGridView1.Rows.Add(row); DNSSDEventManager eventManager = new DNSSDEventManager(); //**********ServiceResolved************// eventManager.ServiceResolved += new _IDNSSDEvents_ServiceResolvedEventHandler(EventManager_ServiceResolved); //eventManager.AddressFound += new _IDNSSDEvents_AddressFoundEventHandler(eventManager_AddressFound); browser1.Resolve(flags, ifIndex, serviceName, regtype, domain, eventManager); DNSSDAddressFamily family = new DNSSDAddressFamily(); browser1.GetAddrInfo(flags, ifIndex, family, "", eventManager); } catch (Exception ex) { csLog.LogError(strRoutine + ex.Message); } //var ipAddress = IPMacMapper.FindIPFromMacAddress("mac-address"); }
private void EventManager_AddressFound(DNSSDService service, DNSSDFlags flags, uint ifIndex, string hostname, DNSSDAddressFamily addressFamily, string address, uint ttl) { var comm = foundComms.SingleOrDefault(r => r.NetworkResolverInfo.Resolver == service); if (comm != null) { comm.NetworkResolverInfo.IpAddress = address; comm.NetworkResolverInfo.Active = true; (comm.NetworkResolverInfo.Resolver as DNSSDService).Stop(); comm.NetworkResolverInfo.Resolver = null; } }
private void eventManager_AddressFound(DNSSDService service, DNSSDFlags flags, uint ifIndex, string hostname, DNSSDAddressFamily addressFamily, string address, uint ttl) { try { strRoutine = this.Name + "; " + MethodBase.GetCurrentMethod().Name + "; "; Console.WriteLine("----------------------------------------"); Console.WriteLine("FOUND ADDRESS"); Console.WriteLine("----------------------------------------"); int pFrom1 = hostname.IndexOf("") + "".Length; int pTo1 = hostname.LastIndexOf(".l"); String result1 = hostname.Substring(pFrom1, pTo1 - pFrom1); row = new string[] { "-", hostname, result1, address }; dataGridView1.Rows.Add(row); } catch (Exception ex) { csLog.LogError(strRoutine + ex.Message); } }
void AddressFound(DNSSDService service, DNSSDFlags flags, uint ifIndex, string hostname, DNSSDAddressFamily addressFamily, string address, uint ttl) { service.Stop(); DoInvoke(() => SetServerAddress(hostname, address)); }