1

IPのある範囲のローカルネットワークでデバイスを見つける必要があります。デバイスはUDPデータグラムで応答できます。次に行います:

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スキャナーのように作成するにはどうすればよいですか?

4

1 に答える 1

0

UDP は、メッセージ配信について保証しません。すべてのパケットが配信されるとは限らないという事実が予想されるため、再試行するだけです。マルチキャスト/ブロードキャストに関するコメントは良いコメントです。このようなことは通常、マルチキャストまたはブロードキャストを通じて行われます。

于 2012-07-27T16:05:32.097 に答える