在C#中,如果需要同时ping多个IP地址,可以采用多线程或异步编程的方式来实现,以便可以同时进行多个ping操作。以下是两种常用的方法:
方法一:使用多线程(Task 或 Thread)
使用Task是更现代和推荐的方式,因为它内置了更好的线程管理和异常处理机制。以下是一个使用Task的示例,展示如何同时ping多个IP地址:
using System;
using System.Collections.Generic;
using System.Net.NetworkInformation;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var ipAddresses = new List<string> { "8.8.8.8", "8.8.4.4", "1.1.1.1" };
var pingTasks = new List<Task<PingReply>>();
foreach (var ip in ipAddresses)
{
var pingTask = Task.Run(() => PingAddress(ip));
pingTasks.Add(pingTask);
}
await Task.WhenAll(pingTasks);
foreach (var task in pingTasks)
{
Console.WriteLine($"Ping to {task.Result.Address} succeeded? {task.Result.St


8240

被折叠的 条评论
为什么被折叠?



