Verwendung von GCDAsyncUdpSocket für Multicast über WLAN und Bluetooth
Ich verwende derzeit GCDAsyncUdpSocket, um Multicast-Datagramme über WLAN zwischen iOS-Geräten zu senden.
Der Code ist ziemlich einfach.
Klient
self.socket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
//omitted error checking
[self.socket bindToPort:12345 error:&err];
[self.socket joinMulticastGroup:@"224.0.1.1" error:&err];
[self.socket beginReceiving:&err];
Server
self.multicastSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
NSData *d = [@"hello" dataUsingEncoding:NSUTF8StringEncoding];
[self.multicastSocket sendData:d toHost:@"224.0.1.1" port:12345 withTimeout:-1 tag:11];
Dies funktioniert gut über WLAN. Wie bringe ich es auch über Bluetooth zum Laufen? Ich habe ein paar gegoogelt und kann nichts finden ... Muss ich zwei separate Sockets erstellen? Eine an die WLAN-Schnittstelle und eine an die Bluetooth-Schnittstelle gebunden?
EDIT: oder bin ich verwirrt über etwas grundlegendes? Das muss möglich sein. Genau das macht die GKSession von GameKit, oder?