since: 2.32


g_socket_join_multicast_group (
  GSocket* socket,
  GInetAddress* group,
  gboolean source_specific,
  const gchar* iface,
  GError** error


Registers socket to receive multicast messages sent to group. socket must be a G_SOCKET_TYPE_DATAGRAM socket, and must have been bound to an appropriate interface and port with g_socket_bind().

If iface is NULL, the system will automatically pick an interface to bind to based on group.

If source_specific is TRUE, source-specific multicast as defined in RFC 4604 is used. Note that on older platforms this may fail with a G_IO_ERROR_NOT_SUPPORTED error.

To bind to a given source-specific multicast address, use g_socket_join_multicast_group_ssm() instead.

Available since: 2.32



Type: GInetAddress

A GInetAddress specifying the group address to join.

The data is owned by the caller of the function.

Type: gboolean

TRUE if source-specific multicast should be used.


Type: const gchar*

Name of the interface to use, or NULL.

The argument can be NULL.
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: gboolean

TRUE on success, FALSE on error.