Gio.Socket.join_multicast_group_ssm

### Method

# Gio Socketjoin_multicast_group_ssm

since: 2.56

#### Declaration [src]

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

#### Description [src]

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 not `NULL`, use source-specific multicast as defined in RFC 4604. Note that on older platforms this may fail with a `G_IO_ERROR_NOT_SUPPORTED` error.

Note that this function can be called multiple times for the same `group` with different `source_specific` in order to receive multicast packets from more than one source.

Available since: 2.56

#### Parameters

`group`

  Type: `GInetAddress`

  A `GInetAddress` specifying the group address to join.

  The data is owned by the caller of the method.

`source_specific`

  Type: `GInetAddress`

  A `GInetAddress` specifying the source-specific multicast address or `NULL` to ignore.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`iface`

  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 method.
  The value is a NUL terminated UTF-8 string.

`error`

  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 be 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.