方法
GioDtlsConnectionhandshake
since: 2.48
声明 [src]
gboolean
g_dtls_connection_handshake (
GDtlsConnection* conn,
GCancellable* cancellable,
GError** error
)
描述 [src]
在conn上尝试进行
在客户端,从不必要调用此方法;尽管连接连接后需要执行握手,但GDtlsConnection
会在您尝试在连接上发送或接收数据时自动为您处理(这比尝试立即使用conn
进行读写要高效,在这种情况下,如果失败,可能无法确定是在握手之前还是之后失败),但请小心,服务器可能在实际握手之后拒绝客户端认证,因此成功的握手未必表示连接可以使用。
同样,在服务器端,尽管在通信开始时进行握手是必要的,除非您想获得更清晰的错误报告,否则不需要明确调用此函数。
以前,在初始握手后调用g_dtls_connection_handshake()
将触发重新握手;然而,由于在TLS 1.3中TLS协议已移除重握手,因此此用法在GLib 2.60中被弃用。从GLib 2.64开始,在初始握手后调用此函数将不再做任何事情。
GDtlsConnection::accept_certificate
在握手中可能会发出。
自:2.48以来可用。
参数
cancellable
-
类型:
GCancellable
一个
GCancellable
,或者NULL
。参数可以为 NULL
。数据由方法调用者拥有。 error
-
类型:
GError **
用于可恢复错误的返回位置。
参数可以为 NULL
。如果返回位置不是 NULL
,则必须将其初始化为NULL
的GError%
。如果没有错误,方法将保留初始化参数为 NULL
。出错时,参数将设置为新分配的 GError
;调用者将获取数据的所有权,并负责释放它。