IP Multicast works fine for signaling and discovery but as mentioned earlier, does not work well over wifi for medium to high data rates.
You haven’t said what data rate you are trying to support for groups > 8. Since you did say iOS (and therefore wifi), I would suggest a unicast approach for the data, especially given the push to encrypt everything these days. Using IP Multicast with encryption is a bigger challenge with key distribution. Using TLS over TCP unicast is pretty simple with Apple’s NSURLSession. Discovery is often done with DNS Service Discovery (aka Bonjour) to locate other endpoints. Having (n-1)^2 TLS connections should not be a problem if you need interaction between all group members. Another option is a pubsub model like used with ZeroMQ (https://en.wikipedia.org/wiki/ZeroMQ <https://en.wikipedia.org/wiki/ZeroMQ>) or RabbitMQ (https://en.wikipedia.org/wiki/RabbitMQ <https://en.wikipedia.org/wiki/RabbitMQ>). It provides a messaging bus that makes group communication easy for an application. You still need the discovery mechanism or a hosted server somewhere to locate group members. Thanks, Tom > On Jul 11, 2017, at 2:22 PM, Andreas Fink <af...@list.fink.org> wrote: > > Of course you can use a IP multicast using UDP but you have to do it by hand. > > SCTP point to multipoint might be an option but Apple lacks support of SCTP > by the kernel. There' a OS X kernel driver adding it but under iOS you are > again in dead water. Furthermore the API to load a layer 4 protocol under xnu > is kerne specific and there is no "public" API yet (I wonder if this will > change in 10.13 given some networking stuff ends up in userspace I read) > > It sounds easy to use UDP but at the other hand with all networking, it > _sounds_ easy but really is hard due to changing network interfaces, > unreliable communications etc. > I've wrapped a lot of network code directly from unix calls to my own objc > library (https://github.com/andreasfink/ulib > <https://github.com/andreasfink/ulib>) but multicast I never had the need > yet. If theres good demand I might add it. RUDP goes into this direction but > you would have to do some work to make it multicast capable. What kind of > high level API where you looking for and what is really the dataflow? > > > >> On 10 Jul 2017, at 18:09, David Hoerl <dho...@mac.com >> <mailto:dho...@mac.com>> wrote: >> >> The Multipeer networking feature in iOS only supports peer groups of two to >> eight. >> >> Can anyone suggest some open source project that supports say up to 25? >> >> I did find https://github.com/jdiehl/async-network >> <https://github.com/jdiehl/async-network>, but it appears its a datagram >> service only. Still, it might be made to work with a roll-your-own end to >> end protocol. >> >> Any suggestions most appreciated! >> >> David >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Macnetworkprog mailing list (Macnetworkprog@lists.apple.com >> <mailto:Macnetworkprog@lists.apple.com>) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/macnetworkprog/afink%40list.fink.org >> <https://lists.apple.com/mailman/options/macnetworkprog/afink%40list.fink.org> >> >> This email sent to af...@list.fink.org <mailto:af...@list.fink.org> > > Andreas Fink > DataCell ehf, Backbone ehf, Cajutel Inc, Alisanus GmbH > ------------------------------------------------------------------ > c/o Fink Telecom Services, Clarastreasse 3, 4058 Basel, Switzerland > E-Mail: andr...@fink.org <mailto:andr...@fink.org> https://www.fink.org > <https://www.fink.org/> > Mobile: +41-78-6677333 Office: +41 61 6666330 > Skype: andreasfink Jabber/XMPP: andr...@fink.org <mailto:andr...@fink.org> > ICQ: 8239353 > ------------------------------------------------------------------ > > > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Macnetworkprog mailing list (Macnetworkprog@lists.apple.com > <mailto:Macnetworkprog@lists.apple.com>) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/macnetworkprog/pusateri%40bangj.com > <https://lists.apple.com/mailman/options/macnetworkprog/pusateri%40bangj.com> > > This email sent to pusat...@bangj.com <mailto:pusat...@bangj.com>
_______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list (Macnetworkprog@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/macnetworkprog/archive%40mail-archive.com This email sent to arch...@mail-archive.com