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

Reply via email to