方法
GioSocketClientset gamle
since: 2.28
声明 [src]
void
g_socket_client_set_tls (
GSocketClient* client,
gboolean tls
)
描述 [src]
设置是否由 client
创建TLS(也称为SSL)连接。如果 tls
为 TRUE
,则 client
将将连接包裹在 GTlsClientConnection
中,并在连接时执行TLS握手。
请注意,由于 GSocketClient
必须返回一个 GSocketConnection
,但 GTlsClientConnection
不是一个 GSocketConnection
,因此在返回时实际上将结果 GTlsClientConnection
包裹在 GTcpWrapperConnection
中。您可以使用 g_tcp_wrapper_connection_get_base_io_stream()
在返回值上提取 GTlsClientConnection
。
如果您需要修改TLS握手的操作行为(例如,通过设置要使用的客户端证书或连接到 GTlsConnection::accept-certificate
信号),则可以连接到 client
的 GSocketClient::event
信号,并等待它以 G_SOCKET_CLIENT_TLS_HANDSHAKING
发出,这将给您机会在握手开始之前查看 GTlsClientConnection
。
since: 2.28