Jak używać GCDAsyncUdpSocket do multiemisji przez WiFi i bluetooth
Obecnie używam GCDAsyncUdpSocket do wysyłania datagramów rozsyłania grupowego przez Wi-Fi między urządzeniami z systemem iOS.
Kodeks jest dość prosty ..
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];
serwer
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];
To działa dobrze na wifi. Jak sprawić, by działał także z bluetooth? Poszukałem go w garści i nic nie mogę znaleźć ... Czy muszę utworzyć dwa oddzielne gniazda? Jeden związany z interfejsem wifi, a drugi z interfejsem bluetooth?
EDYTUJ: czy jestem zdezorientowany o czymś fundamentalnym? To musi być możliwe. GKSession GameKit robi dokładnie to, prawda?