Esempio n. 1
0
        void ReadService()
        {
            strRoutine = this.Name + "; " + MethodBase.GetCurrentMethod().Name + "; ";
            try
            {
                dataGridView1.DataSource = null;
                //Sharvari:15/03/2019
                dataGridView1.Rows.Clear();
                dataGridView1.ColumnCount = 4;

                dataGridView1.Columns[0].Name = "MAC";
                dataGridView1.Columns[1].Name = "MACHost";

                dataGridView1.Columns[2].Name = "Host Name";
                dataGridView1.Columns[3].Name = "IP";
                DNSSDService      service      = new DNSSDService();
                DNSSDEventManager eventManager = new DNSSDEventManager();
                //**********ServiceFound************//
                eventManager.ServiceFound += new _IDNSSDEvents_ServiceFoundEventHandler(eventManager_ServiceFound);
                //   DNSSDService browse = service.Browse(0, 0, "_axis-video._tcp", null, eventManager);
                //DNSSDService browser = service.Browse(0, 0, "_http._tcp", null, eventManager);
                DNSSDService browser1 = service.Browse(0, 0, "_Workstation._tcp", "local.", eventManager);
                DNSSDRecord  records  = new DNSSDRecord();
                //Application.EnableVisualStyles();
                //Application.SetCompatibleTextRenderingDefault(false);
                //Application.Run(new frmBonjour());
            }
            catch (Exception ex)
            {
                csLog.LogError(strRoutine + ex.Message);
            }
        }
        static Bonjour()
        {
            Microsoft.Win32.SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;

            eventManager = new DNSSDEventManager();
            eventManager.ServiceRegistered   += EventManager_ServiceRegistered;
            eventManager.ServiceFound        += EventManager_ServiceFound;
            eventManager.ServiceLost         += EventManager_ServiceLost;
            eventManager.ServiceResolved     += EventManager_ServiceResolved;
            eventManager.QueryRecordAnswered += EventManager_QueryRecordAnswered;
            eventManager.OperationFailed     += EventManager_OperationFailed;
        }
Esempio n. 3
0
 public override void init()
 {
     _eventManager = new DNSSDEventManager();
     _eventManager.ServiceFound += ServiceFound;
     _eventManager.ServiceLost += ServiceLost;
     _eventManager.ServiceResolved += ServiceResolved;
     _eventManager.OperationFailed += OperationFailed;
     _service = new DNSSDService();
     for (int i = 0; i < getServiceTypes().Length; i++)
     {
         _browsers.Add(getServiceTypes()[i], _service.Browse(0, 0, getServiceTypes()[i], null, _eventManager));
     }
 }
Esempio n. 4
0
 public override void init()
 {
     eventManager = new DNSSDEventManager();
     eventManager.ServiceFound    += ServiceFound;
     eventManager.ServiceLost     += ServiceLost;
     eventManager.ServiceResolved += ServiceResolved;
     eventManager.OperationFailed += OperationFailed;
     service = new DNSSDService();
     for (int i = 0; i < getServiceTypes().Length; i++)
     {
         browsers.Add(getServiceTypes()[i], service.Browse(0, 0, getServiceTypes()[i], null, eventManager));
     }
 }
Esempio n. 5
0
        public async override Task <bool> Initialize()
        {
            this.service      = new DNSSDService();
            this.eventManager = new DNSSDEventManager();
            this.eventManager.ServiceFound    += new _IDNSSDEvents_ServiceFoundEventHandler(this.ServiceFound);
            this.eventManager.ServiceLost     += new _IDNSSDEvents_ServiceLostEventHandler(this.ServiceLost);
            this.eventManager.ServiceResolved += new _IDNSSDEvents_ServiceResolvedEventHandler(this.ServiceResolved);
            this.eventManager.OperationFailed += new _IDNSSDEvents_OperationFailedEventHandler(this.OperationFailed);
            this.eventManager.AddressFound    += EventManager_AddressFound;

            //NetworkChange.NetworkAddressChanged += OnNetworkAddressChanged;
            browser = service.Browse(0, 0, "_Breas._tcp", null, eventManager);

            return(true);
        }
Esempio n. 6
0
        public BonjourTest(System.Collections.Specialized.StringDictionary args)
        {
            m_service      = new Bonjour.DNSSDService();
            m_eventManager = new DNSSDEventManager();
            m_eventManager.ServiceFound        += M_eventManager_ServiceFound;
            m_eventManager.ServiceResolved     += M_eventManager_ServiceResolved;
            m_eventManager.QueryRecordAnswered += M_eventManager_QueryRecordAnswered;

            //m_service.Browse(0, 0, "_p2pchat._udp", null, m_eventManager);
            //m_service.Browse(0, 0, "_services._dns-sd._udp", null, m_eventManager);
            //m_service.Browse(0, 0, "_airplay._tcp", null, m_eventManager);
            m_service.Browse(0, 0, "_http._tcp", null, m_eventManager);

            //Task a = Task.Run(()=> { run(); });
            this.ThreadExit += BonjourTest_ThreadExit;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ConnectionDialog"/> class.
        /// </summary>
        public ConnectionDialog()
        {
            this.InitializeComponent();

            this.DataContext = this;

            #if USING_BONJOUR
            this.eventManager = new DNSSDEventManager();

            this.eventManager.ServiceFound += this.ServiceFound;
            this.eventManager.ServiceLost += this.ServiceLost;
            this.eventManager.ServiceResolved += this.ServiceResolved;
            this.eventManager.AddressFound += this.AddressFound;

            this.service = new DNSSDService();

            this.browser = this.service.Browse(0, 0, RfbType, null, this.eventManager);
            #endif
        }
Esempio n. 8
0
 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);
     }
 }
Esempio n. 9
0
        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");
        }
Esempio n. 10
0
        public DVBServer()
        {
            InitializeComponent();

            cbDebug.Checked = Properties.Settings.Default.debug;
            cbMinimizeOnStart.Checked = Properties.Settings.Default.minimizeOnStart;
            cbStartServer.Checked = Properties.Settings.Default.startServer;
            recIP = Properties.Settings.Default.recIP;
            recPort = Properties.Settings.Default.recPort;

            tbPort.Text = Properties.Settings.Default.port;

            if (Properties.Settings.Default.startServer)
            {
                startServer();
            }

            if (Properties.Settings.Default.minimizeOnStart)
            {
                WindowState = FormWindowState.Minimized;
                Hide();
            }

            updateDebugDisplay();

            /**
             * Zeroconf
             */
            try
            {
                mService = new DNSSDService();
            }
            catch
            {
                MessageBox.Show("Bonjour Service is not available", "Error");
                Application.Exit();
            }

            mEventManager = new DNSSDEventManager();
            mEventManager.ServiceRegistered += new _IDNSSDEvents_ServiceRegisteredEventHandler(this.ServiceRegistered);
        }
Esempio n. 11
0
        static void Main(string[] args)
        {
            bool run = true;

            TcpListener controllerListener = null;
            TcpListener managementListener = null;

            var t1 = new Thread(() =>
            {
                Thread.CurrentThread.IsBackground = true;
                Thread.CurrentThread.Name         = "Advertising";

                DNSSDService service = new DNSSDService();

                TXTRecord txtRecord = new TXTRecord();
                txtRecord.SetValue("sf", "1"); // 1 means discoverable. 0 means it has been paired.
                txtRecord.SetValue("ff", "0x00");
                txtRecord.SetValue("ci", "2");
                txtRecord.SetValue("id", ID);
                txtRecord.SetValue("md", "Climenole");
                txtRecord.SetValue("s#", "1");
                txtRecord.SetValue("c#", "678");

                var mgr = new DNSSDEventManager();
                mgr.RecordRegistered  += Mgr_RecordRegistered;
                mgr.OperationFailed   += Mgr_OperationFailed;
                mgr.ServiceRegistered += Mgr_ServiceRegistered;

                var record = service.Register(0, 0, "Climenole", "_hap._tcp", null, null, 51826, txtRecord, mgr);

                Console.WriteLine("Advertising Service in background thread");
            });

            t1.Start();

            var t2 = new Thread(() =>
            {
                Thread.CurrentThread.IsBackground = true;
                Thread.CurrentThread.Name         = "Controller Port";

                IPAddress address = IPAddress.Any;
                IPEndPoint port   = new IPEndPoint(address, 51826);

                controllerListener = new TcpListener(port);
                controllerListener.Start();

                Console.WriteLine("--Controller Server Started--");

                while (run) //loop forever
                {
                    try
                    {
                        Console.WriteLine("Waiting for Controller to connect");

                        TcpClient client = controllerListener.AcceptTcpClient();

                        CurrentlyConnectedController = client;

                        Console.WriteLine("A Controller has connected!");

                        Thread clientThread = new Thread(new ParameterizedThreadStart(HandleControllerConnection));
                        clientThread.Start(client);
                    }
                    catch
                    { }
                }
            });

            t2.Start();

            var t3 = new Thread(() =>
            {
                IPAddress address = IPAddress.Any;
                IPEndPoint port   = new IPEndPoint(address, 51827);

                managementListener = new TcpListener(port);
                managementListener.Start();

                Console.WriteLine("--Management Server Started--");

                while (run) //loop forever
                {
                    try
                    {
                        Console.WriteLine("Waiting for Manager to connect");

                        TcpClient client = managementListener.AcceptTcpClient();

                        Console.WriteLine("A manager has connected!");

                        Thread clientThread = new Thread(new ParameterizedThreadStart(HandleManagerConnection));
                        clientThread.Start(client);
                    }
                    catch
                    { }
                }
            });

            t3.Start();

            Console.WriteLine("Press any key to terminate");
            Console.ReadKey();

            run = false;

            managementListener?.Stop();
            controllerListener?.Stop();

            t1?.Join();
            t2?.Join();
            t3?.Join();
        }