Re: Multipeer Networking for groups > 8?
Re: Multipeer Networking for groups > 8?
- Subject: Re: Multipeer Networking for groups > 8?
- From: Tom Pusateri <email@hidden>
- Date: Tue, 11 Jul 2017 15:45:38 -0400
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 <email@hidden> 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 <email@hidden
>> <mailto:email@hidden>> 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 (email@hidden
>> <mailto:email@hidden>)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden <mailto:email@hidden>
>
> Andreas Fink
> DataCell ehf, Backbone ehf, Cajutel Inc, Alisanus GmbH
> ------------------------------------------------------------------
> c/o Fink Telecom Services, Clarastreasse 3, 4058 Basel, Switzerland
> E-Mail: email@hidden <mailto:email@hidden> https://www.fink.org
> <https://www.fink.org/>
> Mobile: +41-78-6677333 Office: +41 61 6666330
> Skype: andreasfink Jabber/XMPP: email@hidden <mailto:email@hidden>
> ICQ: 8239353
> ------------------------------------------------------------------
>
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Macnetworkprog mailing list (email@hidden
> <mailto:email@hidden>)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden <mailto:email@hidden>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden