MultiPeer stopAdvertising doesn't fix wifi throughput until 30 seconds later

I have an app that receives photos (2-6MB) from a camera over wifi, processes them, and then redistributes them over Bluetooth at a smaller size (ie. 800kb). The reason it sends them over Bluetooth is that there are multiple devices that need the photo, that are not on wifi. Bluetooth is pretty much the only way to do this.


The Bluetooth part is working well with MultiPeer (the 800kB transfers in an acceptable time), but I've discovered a fatal problem: while MultiPeer is advertising the wifi speeds are chopped down to about 150kB/sec max, and calling stopAdvertisingPeer() doesn't restore wifi speeds to their original speed (2MB/sec) for 30 seconds. This is regardless of the fact that wifi isn't being actually used by multipeer in my situation. Ouch.


Either I need a way to:

A) make multipeer's stopAdvertisingPeer() call take effect much faster (ie. within 1 second)

OR

B) build a functionality similar to multipeer that does NOT touch wifi (ie. Bluetooth only), and thus doesn't have the problem of hurting wifi speeds


Is either possible? If B is possible, can someone please point me in the right direction? It seems like Bluetooth LE is totally NOT appropriate as we are talking about transferring larger amounts of data.


I am assuming that radio interference is not an issue for me, because i'd be happy with 1-2MB/sec on wifi.

Thanks for any help...

Accepted Reply

Update: I ended up rolling my own with HHServices and GCDAsyncSocket. If anyone wants to do this, ping me here

Replies

Update: I ended up rolling my own with HHServices and GCDAsyncSocket. If anyone wants to do this, ping me here