信号

GioSocketClient::event

自 2.32 开始

声明

void
event (
  GSocketClient* self,
  GSocketClientEvent event,
  GSocketConnectable* connectable,
  GIOStream* connection,
  gpointer user_data
)

描述 [src]

当客户端 connectable 的活动状态改变时发出。例如,可以用于在 UI 中提供网络连接的进度信息。不同 event 值的含义如下:

  • G_SOCKET_CLIENT_RESOLVING :客户端将开始对 connectableDNS 中进行查找。connection 将是 NULL

  • G_SOCKET_CLIENT RESOLVED :客户端已在 DNS 中成功解析 connectableconnection 将是 NULL

  • G_SOCKET_CLIENT_CONNECTING :客户端将开始与远程主机建立连接,可以是代理服务器或目的服务器本身。connectionGSocketConnection,尚未连接。从 GLib 2.40 开始,您可以通过 g_socket_connection_get_remote_address() 访问远程地址。

  • G_SOCKET_CLIENT_CONNECTED :客户端已成功连接到远程主机。connection 是连接的 GSocketConnection

  • G_SOCKET_CLIENT_PROXY_NEGOTIATING :客户端将开始与代理协商以使其连接到 connectableconnection 是到代理服务器的 GSocketConnection

  • G_SOCKET_CLIENT_PROXY_NEGOTIATED :客户端已通过代理服务器协商连接到 connectableconnection 是来自 g_proxy_connect() 的流,可能是一个或不是一个 GSocketConnection

  • G_SOCKET_CLIENT_TLS_HANDSHAKING :客户端将开始进行 TLS 握手。connectionGTlsClientConnection

  • G_SOCKET_CLIENT_TLS_HANDSHAKED :客户端已成功完成 TLS 握手。connectionGTlsClientConnection

  • G_SOCKET_CLIENT_COMPLETE :客户端要么成功连接到 connectable(在这种情况下,connection 是它将返回给调用者的 GSocketConnection),要么失败(在这种情况下,connectionNULL,客户端即将返回一个错误)。

除了 G_SOCKET_CLIENT_COMPLETE 之外,给定连接点的事件可能会多次发出(或根本不发出)。但是在客户端为给定的连接发出任何事件时,当完成时它将始终使用 G_SOCKET_CLIENT_COMPLETE 发出它。

注意,将来可能有额外的 GSocketClientEvent 值;未识别的事件值应忽略。

默认处理程序

默认处理程序在通过 g_signal_connect() 添加的处理程序之后被调用。

自 2.32 起可用

参数

event

类型: GSocketClientEvent

正在发生的事件。

connectable

类型: GSocketConnectable

event 在其上发生的事件的 GSocketConnectable

数据由函数的调用者拥有。
connection

类型: GIOStream

当前的数据连接表示。

参数可以是 NULL
数据由函数的调用者拥有。