如何修改这个示例,使其支持ping列表中的多个IP地址?
时间: 2024-10-07 16:07:35 浏览: 9
要让代码支持ping列表中的多个IP地址,可以将IP地址存储在一个集合(如List<string>)中,然后循环遍历这个列表发送ping请求。这里是一个修改后的版本:
首先,创建一个包含IP地址的列表:
```csharp
List<string> ipAddresses = new List<string>() { "地址1", "地址2", "地址3" }; // 根据实际需要填充IP地址
```
接下来,在`PingTask_Tick`方法中,替换原来的单个IP地址部分,改为遍历列表:
```csharp
private void PingTask_Tick(object sender, EventArgs e)
{
foreach (string ipAddress in ipAddresses)
{
Ping pingSender = new Ping();
PingReply reply;
try
{
reply = pingSender.Send(ipAddress);
if (reply.Status == IPStatus.Success)
{
textBox1.AppendText($"({ipAddress}): 网络连接状态:通畅\n");
}
else
{
textBox1.AppendText($"({ipAddress}): 网络连接状态:不通畅 ({reply.Status})\n");
}
}
catch (Exception ex)
{
textBox1.AppendText($"({ipAddress}): 错误:{ex.Message}\n");
}
}
// 清空文本框末尾的换行符
textBox1.Text = textBox1.Text.TrimEnd('\r', '\n');
}
```
现在,当定时器触发时,会依次对列表中的每个IP地址进行ping操作,并在文本框中显示结果。
阅读全文