Пример #1
0
        public static async void tratarMulticast()
        {
            IPEndPoint ipAchado   = peers[0].IPConectando;
            String     nomeAchado = peers[0].NomeConectando;
            Peer       novoPeer   = new Peer(ipAchado, nomeAchado);

            peers.Add(novoPeer);
            ControladorConexao.tratarMulticast();

            // throw new Exception("Caso aparentemente impossível!");
            //caso aparentemente impossível
        }
Пример #2
0
        private void obterPeers()
        {
            btnConectar.Visible = false;

            if (primeiraEscuta)
            {
                meuControlador = new ControladorConexao();
            }
            escutando = true;
            Action <object> obterPeers = (object obj) =>
            {
                bool receber = true;

                while (escutando)
                {
                    if (!novoPeer)
                    {
                        if (receber)
                        {
                            meuControlador.inicializarMulticasting();

                            procurarDispositivos();

                            receber = false;
                        }
                        else
                        {
                            Thread.Sleep(1000);
                        }
                    }
                    else
                    {
                        meuControlador.finalizarMulticasting();
                        listarDispositivos();


                        novoPeer = false;
                        receber  = true;
                    }
                }
            };

            obtencao = new Task(obterPeers, "obtenção de Peers");
            obtencao.Start();
        }