GioSocketAddressEnumerator

描述 [src]

abstract class Gio.SocketAddressEnumerator : GObject.Object
{
  /* No available fields */
}

GSocketAddressEnumeratorGSocketAddress 实例的枚举类型。它由枚举函数如 g_socket_connectable_enumerate() 返回,该函数返回一个 GSocketAddressEnumerator 以列出每个可以用来连接到该 GSocketConnectableGSocketAddress

枚举通常是一个阻塞操作,因此建议尽可能使用异步方法 g_socket_address_enumerator_next_async()g_socket_address_enumerator_next_finish()

每个 GSocketAddressEnumerator 只能枚举一次。一旦 g_socket_address_enumerator_next() 返回 NULL,则无法进一步枚举该 GSocketAddressEnumerator,它可以被解除引用。

祖先

实例方法

g_socket_address_enumerator_next

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

g_socket_address_enumerator_next_async

异步地从 enumerator 中检索下一个 GSocketAddress,然后调用 callback,它必须调用 g_socket_address_enumerator_next_finish() 来获取结果。

g_socket_address_enumerator_next_finish

获取 g_socket_address_enumerator_next_async() 完成调用的结果。有关错误处理的更多信息,请参阅 g_socket_address_enumerator_next()

GObject 继承的方法(43个)

请参阅 GObject 获取方法列表的完整列表。

信号

GObject 继承的信号(1个)
GObject::notify

当对象的某个属性通过 g_object_set_property()、g_object_set() 等设置值时,会发出 notify 信号。

类结构

struct GioSocketAddressEnumeratorClass {
  GSocketAddress* (* next) (
    GSocketAddressEnumerator* enumerator,
    GCancellable* cancellable,
    GError** error
  );
  void (* next_async) (
    GSocketAddressEnumerator* enumerator,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GSocketAddress* (* next_finish) (
    GSocketAddressEnumerator* enumerator,
    GAsyncResult* result,
    GError** error
  );
  
}

GSocketAddressEnumerator 的类结构。

类成员
next: GSocketAddress* (* next) ( GSocketAddressEnumerator* enumerator, GCancellable* cancellable, GError** error )

用于 g_socket_address_enumerator_next() 的虚拟方法。

next_async: void (* next_async) ( GSocketAddressEnumerator* enumerator, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )

用于 g_socket_address_enumerator_next_async() 的虚拟方法。

next_finish: GSocketAddress* (* next_finish) ( GSocketAddressEnumerator* enumerator, GAsyncResult* result, GError** error )

用于 g_socket_address_enumerator_next_finish() 的虚拟方法。

虚拟方法

Gio.SocketAddressEnumeratorClass.next

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

Gio.SocketAddressEnumeratorClass.next_async

异步地从 enumerator 中检索下一个 GSocketAddress,然后调用 callback,它必须调用 g_socket_address_enumerator_next_finish() 来获取结果。

SocketAddressEnumerator类.next_finish

获取 g_socket_address_enumerator_next_async() 完成调用的结果。有关错误处理的更多信息,请参阅 g_socket_address_enumerator_next()