2012-07-27 39 views
1

我需要在某些IP範圍內的本地網絡中找到設備。設備可以在Udp datagramm上進行響應。我下一步:UdpClient不能發送很多數據包到不同的地址?

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)。 但並非所有設備都收到我的信息。 我tryed另一種方式:

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掃描儀?

+0

多播或廣播你的UDP數據報可能更有效。您可能還應該發送1個以上以確保收到。 – 2012-07-27 15:33:14

回答

0

UDP沒有提供關於消息傳遞的保證。事實上,並不是每個數據包都可以交付,而只需重試即可。有關多播/廣播的評論是一個很好的評論;像這樣的東西通常通過多播或廣播完成。

相關問題