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 }
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(); }