Peer-to-peer network over wifi in iOS

32,069

Solution 1

iOS 7 adds the Multipeer Connectivity Framework for exactly this purpose.

Solution 2

I think Open Peer is the right solution. It provides real direct peer-to-peer connection between devices without the need of a centralised server. Check out this introductory video.

Solution 3

Have you thought of using Apple's GameKit framework? I've used it in the past for some simple communication between devices. It's really simple and can get you out of the gate quickly. This looks like a good tutorial.

Solution 4

You cannot create a wi-fi network programmatically in iOS using current APIs. GameKit offers some APIs to do so over bluetooth however.

If you wish to implement a custom solution using CocoaHTTPServer, be aware that you will still not be able to create a direct wi-fi connection, you will simply be able to connect devices on the same (pre-existing) wi-fi network.

Ad-hoc peer to peer Wi-Fi (such as 802.11s) in iOS is still a few years off. Maybe iOSX ;)

Solution 5

iOS supports the Multipeer Connectivity framework which enables iOS devices to talk to each other over Bluetooth, infrastructure (with a router) WiFi, or P2P.

It does not, however, provide a way to explicitly use P2P. There is a layer of abstraction away from how any of a device's peers (other iOS devices) are connected, and it does not currently allow for non-iOS devices to be connected.

Share:
32,069
Andrew
Author by

Andrew

Updated on July 09, 2022

Comments

  • Andrew
    Andrew almost 2 years

    I've been at this for a few days now, and can't seem to find a solution. I want to create a peer to peer network over wifi on iOS. All open source code seems to be supporting running a server or being a client, but there's no code built to support being both - a peer. Is anybody aware of a way I can do this?

  • Andrew
    Andrew about 11 years
    The problem is this involves them accepting my app can use gamekit, which seems a bit random to the user.
  • ArpitM
    ArpitM about 11 years
    Which part, the name GameKit, the GameKit UI or both? You can roll all your own custom UI and nobody will be the wiser. The GKPeerPickerController will simplify your life right out of the box and doesn't look like one is playing a game. However, you can roll your own solution and have your own UI.
  • ArpitM
    ArpitM about 11 years
    The documentation says: A GKSession object provides the ability to discover and connect to nearby iOS devices using Bluetooth or Wi-fi.
  • cleverbit
    cleverbit about 11 years
    Only bluetooth is used for direct peer-to-peer connections. Wi-fi is used for Bonjour over LAN.
  • sage444
    sage444 over 9 years
  • arlomedia
    arlomedia over 9 years
    I'm currently using GameKit for p2p data transfer in a non-game, and I'm not aware that users were ever prompted to accept or approve this functionality. Bluetooth connections are fairly easy to set up, however, the connections are flaky and the data transmission is slow for more than small bits of data, compared to wi-fi.
  • user2159978
    user2159978 over 9 years
    I don't recommend you to use this framework. It is very universal but it is too slow.
  • user2159978
    user2159978 over 9 years
    GameKit part for p2p connection is deprecated. Apple recommends to use Multipeer Connectivity Framework but it is too slow
  • user2159978
    user2159978 over 9 years
    GKSession is deprecated in iOS 7
  • Karthik
    Karthik over 8 years
    open peer does it over internet
  • Lance Samaria
    Lance Samaria about 4 years
    they seem to have abandoned the iOS project. The last iOS Github update was 5 yrs ago