/// <summary> /// Busca todo e qualquer equipamento da lista ARP na LAN. /// </summary> private void Search_AllDevices() { // Classe usada para listar o ARP (Todos os IP's registrados no gateway) ArpHelper arp = new ArpHelper(); // Gera a lista ARP com IPs, MACs e Types dos Equipamentos Registrados na Rede. listArp = arp.GetArpResult(); // lstListDevices.Items.Clear(); // foreach (var device in listArp) { lstListDevices.Items.Add(GetListViewItem(device)); } }
private async void Search_TCP232() { // Classe usada para listar o ARP (Todos os IP's registrados no gateway) ArpHelper arp = new ArpHelper(); // Gera a lista ARP com IPs, MACs e Types dos Equipamentos Registrados na Rede. listArp = arp.GetArpResult(); // byte[] searchCommand = { 0xFF, 0x01, 0x01, 0x02 }; // byte[] basicCommmand = { 0x55, 0xC6 }; // lstListDevices.Items.Clear(); // Roda a lista ARP enviando o comando de "Search" na porta 1901. foreach (var device in listArp) { lstListDevices.Items.Add(GetListViewItem(device)); // Conecta via UDP ao Device UDP.Connect(device.Ip, 1901, 1901); // UDP.DataReceivedInBackGround += UDP_DataReceivedInBackGround; // Envia um comando de busca, caso o device responda corretamente, então trata-se de um módulo USR-TCP232 UDP.Send(searchCommand); // await Task.Delay(800); // UDP.DataReceivedInBackGround -= UDP_DataReceivedInBackGround; // UDP.Disconnect(); // await Task.Delay(50); } }