UdpClient无法将多个数据包发送到不同的地址?

时间:2012-07-27 15:19:47

标签: c# ip udpclient

我需要在某些IP范围内在本地网络中查找设备。设备可以响应Udp datagramm。我接下来做了:

var udpSend = new UdpClient();
foreach (string ip in list)            
   udpSend.Send(new byte[] { 0xCE, 0x56, 0x01 },3, ip, 33333);

列表中有许多地址(10.0.1.1 - 10.0.255.255)。 但并非所有设备都收到我的消息。 我尝试了另一种方式:

foreach (string ip in list)
        {
            var udpSend = new UdpClient();
            udpSend.Send(new byte[] {0xCE, 0x56, 0x01}, 3, ip, 33333); 
            udp.Close();
        }

但经过255个包udp.Close();开始很慢。

我如何创建像udp扫描仪?

1 个答案:

答案 0 :(得分:0)

UDP不保证邮件传递。不是每个数据包都能得到的事实应该是预期的,你只需重试即可。关于多播/广播的评论是一个很好的评论;这样的事情通常是通过多播或广播来完成的。