GNOME Bugzilla – Bug 775873
iOS: UDP multicast group joining incompatibilities
Last modified: 2018-05-24 19:18:39 UTC
https://lists.freedesktop.org/archives/gstreamer-devel/2016-December/061928.html It seems like on iOS, IP_ADD_SOURCE_MEMBERSHIP and MCAST_JOIN_GROUP do slightly different things. GIO does the former, the latter actually seems to work in all cases. To me this seems like a bug in Apple's code, but we should probably work around this by always doing the latter on iOS (and possibly macOS? It's the same kernel and system libraries after all). Any opinions on this, are you aware of any other differences between these two sockopts? I would prepare a patch if this is considered like a sensible approach.
From the Linux kernel mailing list, I seem to understand that the difference between IP_ADD_SOURCE_MEMBERSHIP and MCAST_JOIN_GROUP is that the former is IPv4 only, while MCAST_JOIN_GROUP supports both IPv4 and IPv6, so MCAST_JOIN_GROUP looks like a safe choice. Apple has been pushing hard lately for IPv4/IPv6 agnostic apps, so this change, (as in not supporting IP_ADD_SOURCE_MEMBERSHIP any longer) could be part of this effort. My 2 cents.
So maybe we should just use MCAST_JOIN_GROUP always when available, and otherwise fall back to the other?
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/1229.