方法

GioSocketjoin_multicast_group_ssm

自:2.56

声明 [src]

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

描述 [src]

注册 socket 以接收发送到 group 的多播消息。 socket 必须是 G_SOCKET_TYPE_DATAGRAM 套接字,并且必须使用 g_socket_bind() 绑定到适当的接口和端口。

如果 ifaceNULL,系统将根据 group 自动选择一个接口进行绑定。

如果 source_specific 不是 NULL,则使用 RFC 4604 中定义的特定源多播。注意,在较旧的平台上这可能失败并引发 G_IO_ERROR_NOT_SUPPORTED 错误。

请注意,可以对同一个 group 调用多次此函数,不同的 source_specific 以接收来自多个源的多播数据包。

可用自:2.56

参数

类型: GInetAddress

指定要加入的组地址的 GInetAddress

数据由方法的调用者拥有。
source_specific

类型: GInetAddress

指定特定的源多播地址的 GInetAddressNULL 以忽略。

该参数可以是 NULL
数据由方法的调用者拥有。
iface

类型: `gchar*`

要使用的接口名称,或 NULL

该参数可以是 NULL
数据由方法的调用者拥有。
值是一个以 NUL 结尾的 UTF-8 字符串。
error

类型: GError**

用于报告可恢复错误的返回位置。

该参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULLGError
如果没有错误,该参数将被方法初始化为 NULL
在出错的情况下,该参数将被设置为一个新的 GError;调用者将负责数据的所有权,并负责释放它。

返回值

类型: gboolean

在成功时返回 `TRUE`,在出错时返回 `FALSE`。