简体   繁体   中英

Android/iOS Peer-To-Peer architecture

This is kind of wide question, I found many information about this topic.

Possible technologies

Neither of these does currently have a fully-implemented peer-to-peer library, or I haven't found such.
In fact I'm not interested in any kind of gaming library (and I don't target such issues)

Questions I'd considered

I'd like to efficiently communicate between as many devices as possible, without need of using mobile data (3G,HS*PA,LTE) or WIFI AP as intermediate point.
And not connecting people over large distances, really just like a PAN over Bluetooth.

Thus, what features I'd require to have

  • Totally OFFLINE (not requiring any mobile data services or wifi AP)
  • Cross-platform compatibility (Android, iOS)
  • Mobile OS backwards compatibility (Android since 2.3, iOS since 5.1.1)

Features I'd like to have

  • Route optimization (OSPF, MME, ...)
  • Not requiring devices to authorize to network (see Android insecure BT RFCOMM )
  • Possible wrapping up-to tens of users (20-30 max imo, or more if possible)
  • If needed, network could possibly choose its own leader (server node) ?

Is there currently anything I could use for mentioned features?

I know google just came out with a cross platform api for ios and android devices to communicate with each other. I don't know what you're exactly looking for but this one lets you pass small binary payloads between Android and IOS devices. they don't have to be on the same network at all either or connected to the internet. I'll include the link just check it out.

https://developers.google.com/nearby/messages/overview

Open Garden is developing this sort of technology and implement it in their app, Firechat. Testing the app, we found that Android-to-Android connections worked only over Bluetooth, iPhone-to-iPhone worked with bluetooth or wifi, and Android-to-iPhone only works if the phones are connected to the same network. Here's a link to their sdk which should be out soonish: https://opengarden.com/sdk

I'd look into WebRTC datachannels which has native support for both iOS and android . You can also include desktop browsers as peers with WebRTC.

Currently only OpenGarden's FireChat is one of the only major players doing this. They do provide a mesh-kit sdk which currently I think you need to Apply for.

There is another project which has been kinda of shakey, but I heard was suppose to have a release coming really soon: The Thali Project

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM