方法

GIoSocketjoin_multicast_group

自:2.32

声明 [源代码]

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

描述 [源代码]

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

如果 ifaceNULL,系统将根据 group 自动选择要绑定的接口。

如果 source_specificTRUE,则使用 RFC 4604 中定义的源特定多播。注意,在较旧的平台上,这可能会失败并返回 G_IO_ERROR_NOT_SUPPORTED 错误。

要绑定到特定的源多播地址,请使用g_socket_join_multicast_group_ssm()

自:2.32 版本起可用

参数

group

类型: GInetAddress

指定要加入的组地址的GInetAddress

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

类型: gboolean

如果使用特定源多播,则为TRUE

iface

类型: const gchar*

要使用的接口名称,或NULL

该参数可为NULL
数据由方法调用者拥有。
该值是NUL终止的UTF-8字符串。
error

类型: GError **

一个可恢复错误的返回位置。

该参数可为NULL
如果返回位置不是NULL,则必须将其初始化为空的GError*
如果没有错误,该方法将初始化该参数为NULL
如果出现错误,则将参数设置为新分配的GError;调用者将拥有数据所有权,并负责释放它。

返回值

类型: gboolean

如果成功则返回TRUE,如果出错则返回FALSE