NAS デバイスを検索するために UDP パケットをブロードキャストするために GCDAsyncUdpSocket を使用しています。
以下は、UDP パケットを送受信するためのコード スニペットです。
NSString *broadCastAddress = @"255.255.255.255";
NSInteger udpPort = 8097;
GCDAsyncUdpSocket *gcdAsyncUdpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:selfdelegateQueue:dispatch_get_main_queue()];
[gcdAsyncUdpSocket bindToPort:udpPort error:&error];
[gcdAsyncUdpSocket setPreferIPv4];
NSData *data = @“Hi there”; // Sample data
[gcdAsyncUdpSocket enableBroadcast:YES error:&error];
[gcdAsyncUdpSocket beginReceiving:&error];
[gcdAsyncUdpSocket sendData:data toHost:broadCastAddress port:udpPort withTimeout:-1 tag:1];
上記のコードは、単一のネットワーク インターフェイス (Wifi、イーサネット、または Thunderbolt のいずれか) のみを介してパケットを送信できます。利用可能なすべてのネットワーク インターフェイスを介してブロードキャストしたいということです。(イーサネット、WiFi、サンダーボルトなど)。
利用可能なすべてのネットワーク インターフェイス (イーサネット、WiFi、Thunderbolt など) を同時に、同じポートを使用してブロードキャストする方法はありますか?
事前に感謝します。