string[] addresses = { "192.168.1.2", "192.168.1.3", "192.168.1.4" }; void show() { List<Task<PingReply>> pingTasks = new List<Task<PingReply>>(); foreach (var address in addresses) { pingTasks.Add(PingAsync(address)); } Task.WaitAll(pingTasks.ToArray()); int i = 0; listView1.Clear(); listView1.Columns.Add("Device IP", 100); listView1.Columns.Add("ping", 60); foreach (var pingTask in pingTasks) { string[] A = { addresses[i], pingTask.Result.RoundtripTime.ToString() }; ListViewItem item = new ListViewItem(A); listView1.Items.Add(item); i++; } } Task<PingReply> PingAsync(string address) { var tcs = new TaskCompletionSource<PingReply>(); Ping ping = new Ping(); ping.PingCompleted += (obj, sender) => { tcs.SetResult(sender.Reply); }; ping.SendAsync(address, new object()); return tcs.Task; }
Quote:I want to ping a list of IPs but it's not working.
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)