Example #1
0
        private void onServiceAdded(object sender, ServiceAnnouncementEventArgs e)
        {
            ServiceAnnouncement service = e.Announcement;
            mDNSObject          mDNS    = new mDNSObject();

            mDNS.Type = (service.Type == "_https._tcp") ? "https" : "http";
            mDNS.Name = service.Instance;
            foreach (string txt in service.Txt)
            {
                if (txt.Contains("uuid"))
                {
                    mDNS.Txt = txt;
                }
            }
            foreach (IPAddress ipaddr in service.Addresses)
            {
                if (ipaddr.AddressFamily.ToString() == ProtocolFamily.InterNetwork.ToString()) // IPv4
                {
                    mDNS.Address = ipaddr.ToString();
                }
            }
            if (mDNS.Address == "")
            {
                return;
            }
            mDNS.Port = service.Port;
            services.Add(mDNS);
            cboxDevice.Items.Add(mDNS.Name);
        }
Example #2
0
        private void onServiceRemoved(object sender, ServiceAnnouncementEventArgs e)
        {
            ServiceAnnouncement service = e.Announcement;
            mDNSObject          mDNS    = new mDNSObject();

            mDNS = services.Find(x => x.Name == service.Instance);
            services.Remove(mDNS);
            cboxDevice.Items.Clear();
            foreach (mDNSObject mdns in services)
            {
                cboxDevice.Items.Add(mdns.Name);
            }
        }
Example #3
0
        private void cboxDevice_SelectedIndexChanged(object sender, EventArgs e)
        {
            ComboBox combo = (ComboBox)sender;

            if (combo.SelectedIndex != -1)
            {
                mDNSObject mDNS = new mDNSObject();
                mDNS     = services.Find(x => x.Name == combo.Items[combo.SelectedIndex].ToString());
                mDNSURL  = String.Format("{0}://{1}:{2}", mDNS.Type, mDNS.Address, mDNS.Port);
                mDNSName = mDNS.Name;
                mDNSIP   = mDNS.Address;
                mDNSTxt  = mDNS.Txt;
            }
        }