我正在尝试为我的项目开发网络监视器。我正在使用Parallel.ForEach并行将ping发送到列表IPListAll中列出的所有IP地址。
我想处理从所有PC收到的Reply,但是我的代码从未到达MessageBox.Show和DisplayChangeOnReply函数。我被困在这里。请帮助,我不知道我在做什么错。为了方便起见,我的代码附在下面。
while(true)
{
object pinglock = new object();
Parallel.ForEach(IPListAll,ipaddr =>
{
lock(pinglock)
{
reply = Ping.Send(ipaddr,500); // this line is being executed always
MessageBox.Show(ipaddr); // Execution not reaching here
}
DisplayChangeOnReply(reply,ipaddr); // Execution nor reaching here
});
}