private async void DevicesUDP_ItemSelected(object sender, SelectedItemChangedEventArgs e) { ListView listView = (ListView)sender; DeviceUDP deviceUDP = (DeviceUDP)listView.SelectedItem; CrossClipboard.Current.SetText(deviceUDP.ToString()); await DisplayAlert("UDP Cross", "Ip, Porta e Comando copiados.", "Ok"); }
private async void Button_Clicked(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(Comando.Text) || string.IsNullOrEmpty(IP.Text) || string.IsNullOrEmpty(Porta.Text)) { return; } DeviceUDP deviceUDP = new DeviceUDP { ID = Application.Current.Properties.Count.ToString(), Comando = Comando.Text, IP = IP.Text, Porta = Porta.Text }; Application.Current.Properties.Add(deviceUDP.ID, JsonConvert.SerializeObject(deviceUDP)); DeviceUDPs.Add(deviceUDP); await Application.Current.SavePropertiesAsync(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPAddress broadcast = IPAddress.Parse(IP.Text); byte[] sendbuf = Encoding.ASCII.GetBytes($"@{Comando.Text}#"); IPEndPoint ep = new IPEndPoint(broadcast, int.Parse(Porta.Text)); s.SendTo(sendbuf, ep); s.Close(); Console.WriteLine("Message sent to the broadcast address"); }
public MainPage() { InitializeComponent(); DevicesUDP.ItemsSource = DeviceUDPs; try { //Application.Current.Properties.Clear(); foreach (var item in Application.Current.Properties) { DeviceUDP deviceUDP = JsonConvert.DeserializeObject <DeviceUDP>(item.Value.ToString()); DeviceUDPs.Add(deviceUDP); } } catch (Exception e) { Console.WriteLine(e);; } }