0

I am currently programming an app for my school. During the lesson the teacher needs to send and stream data to the students. There is a case in which one of the students streams the data to everyone else. The teacher uses an iPad and every student uses one. My question is: How could this be realized without a local network or an internet connection?

Two solutions came to my mind when thinking about it:

  1. Multipeer Connectivity. The problem with this solution is the limit to 8 devices. I have read that you can open multiple sessions at a time but I am worried that 30 devices are too many.
  2. Having the teacher-iPad open a hotspot which the other iPads join. This hotspot will be used as a local network to communicate (as far as I know, this works on Minecraft PE). This would only be an option if the hotspot and it's password could be configured by the app, otherwise it would be too complicated to use in a lesson.

Thanks a lot for reading my text. I hope that you can help me.

George
  • 25,988
  • 10
  • 79
  • 133
Jakob
  • 1
  • 1
    I belive hotspot is also limited. And regardless, if one iPad will serve 30 devices, it may become slow and hot. So I would go with your multi-pear approach in tree structure: first up to 7 devices connect to your teacher's iPad, then students connect to those first 7 devices. Teacher's iPad is a "content broadcaster", and each student is "content receiver" and can also be "content re-broadcaster" if more students are connected to his/her iPad. That way you can support any number of students, and failure on one iPad can always be compensated. – timbre timbre Aug 23 '21 at 16:05
  • Thank you really much for your answer. I have one last question: If I am streaming using this tree structure, could there be a problem with latency? – Jakob Aug 23 '21 at 19:17
  • A WiFi base station costing USD $ 30 solves your entire problem. That device need not be connected to the Internet nor any other network. – Basil Bourque Aug 23 '21 at 20:23

2 Answers2

1

Your devices need to transmit using wifi or bluetooth. I have a recollection that MCSession stopped being able to use bluetooth a few years ago. MCSession may work only if all devices are on the same wifi network.

Peter B. Kramer
  • 16,385
  • 1
  • 16
  • 20
  • Wouldn’t that defeat the purpose of MultipeerConnectivity? I thought the framework is used for communication if there isn’t a wifi network – Jakob Aug 24 '21 at 06:21
  • The MCSession framework connects two or more devices locally. So working though wifi is fine. The framework itself does not care how the devices connect. – Peter B. Kramer Aug 27 '21 at 22:43
0

Probably you can first use Multipeer Connectivity to setup the network, then use a hotspot or other solution afterward.

For example, using Multipeer Connectivity to send the wifi name and password to other devices. Once a device receives the setup information, you can disconnect it so that other devices can get connected.

yuchen
  • 237
  • 1
  • 10