类
GioSocketAddressEnumerator
描述 [src]
abstract class Gio.SocketAddressEnumerator : GObject.Object
{
/* No available fields */
}
GSocketAddressEnumerator
是 GSocketAddress
实例的枚举类型。它由枚举函数如 g_socket_connectable_enumerate()
返回,该函数返回一个 GSocketAddressEnumerator
以列出每个可以用来连接到该 GSocketConnectable
的 GSocketAddress
。
枚举通常是一个阻塞操作,因此建议尽可能使用异步方法 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 继承的信号(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()
。