### Method

# Gio Socket leave_multicast_group_ssm

since: 2.56

#### Declaration [src]

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

#### Description [src]

Removes `socket` from the multicast group defined by `group`, `iface`, and `source_specific` (which must all have the same values they had when you joined the group).

`socket` remains bound to its address and port, and can still receive unicast messages after calling this.

Available since: 2.56

#### Parameters

`group`

  Type: `GInetAddress`

  A `GInetAddress` specifying the group address to leave.

  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.