方法
GioSocketClientconnect_async
自 2.22 起有效
声明 [源代码]
void
g_socket_client_connect_async (
GSocketClient* client,
GSocketConnectable* connectable,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
)
描述 [源代码]
这是 g_socket_client_connect() 的异步版本。
即使在同步命令行程序中,也可能希望首选异步版本,因为自 2.60 以来,它实现了 RFC 8305 “快乐的眼睛” recommendation 以解决由于 IPv6 故障导致的网络中的长时间连接超时,通过同时执行 IPv4 连接而不等待 IPv6 超时而绕过这个问题,这在同步调用中是不受支持的。(这不是 API 保证,并且可能会在未来更改。)
操作完成时将调用 callback
。然后您可以使用 g_socket_client_connect_finish()
调用来获取操作的结果。
自 2.22 以来可用
此方法异步完成。请在 GAsyncReadyCallback
内使用 g_socket_client_connect_finish()
来获取操作的结果。
参数
连接
-
指定远程地址的
GSocketConnectable
这些数据由方法调用者拥有。 取消标记
-
类型:
GCancellable
一个
GCancellable
或NULL
。此参数可以是 NULL
。这些数据由方法调用者拥有。 回调
-
GAsyncReadyCallback
。此参数可以是 NULL
。 user_data
-
类型:
gpointer
回调的user_data。
此参数可以是 NULL
。这些数据由方法调用者拥有。