方法

SocketAddressEnumeratornext

声明 [源代码]

GSocketAddress*
g_socket_address_enumerator_next (
  GSocketAddressEnumerator* enumerator,
  GCancellable* cancellable,
  GError** error
)

描述 [源代码]

从枚举器enumerator检索下一个GSocketAddress。请注意,这可能需要阻塞一段时间。(例如,一个GNetworkAddress可能需要在返回地址之前执行DNS查找。)如果您需要避免阻塞,请使用g_socket_address_enumerator_next_async()

如果预计枚举器可以产生地址,但是由于某些原因无法产生(例如,由于DNS错误),则第一次调用g_socket_address_enumerator_next()将在*error中返回适当的错误。但是,如果第一次调用g_socket_address_enumerator_next()成功,那么任何后续内部错误(除了cancellable被触发之外)将被忽略。

参数

cancellable

类型: GCancellable

可选的GCancellable对象,为NULL表示忽略。

参数可以NULL
数据由方法调用者拥有。
error

类型: GError **

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

参数可以NULL
如果返回位置不为NULL,则必须将其初始化为NULL GError*
如果不存在任何错误,方法将使参数保持NULL初始化。
如果发生错误,参数将被设置为一个新的分配的GError;调用者将拥有数据,并负责释放它。

返回值

类型: GSocketAddress

一个GSocketAddress(由调用者拥有),或发生错误(在这种情况下将设置*error)或如果没有更多地址时为NULL

方法的调用者将拥有返回的数据,并负责释放它。
返回值可以为NULL