方法

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

指定远程地址的 GSocketConnectable

这些数据由方法调用者拥有。
取消标记

类型: GCancellable

一个 GCancellableNULL

此参数可以是 NULL
这些数据由方法调用者拥有。
回调

类型: GAsyncReadyCallback

GAsyncReadyCallback

此参数可以是 NULL
user_data

类型: gpointer

回调的user_data。

此参数可以是 NULL
这些数据由方法调用者拥有。