方法

GioDtlsConnectionclose

自: 2.48

声明 [源]

gboolean
g_dtls_connection_close (
  GDtlsConnection* conn,
  GCancellable* cancellable,
  GError** error
)

描述 [源]

关闭DTLS连接。这相当于调用g_dtls_connection_shutdown()来关闭连接的双方。

关闭GDtlsConnection等待所有缓冲但未传输的数据发送完成后才完成。然后,它向对等方发送一个close_notify DTLS警告,可能还等待从对等方接收一个close_notify。它不会关闭底层的GDtlsConnection:base-socket;这必须单独关闭。

一旦conn关闭,所有其他操作将返回G_IO_ERROR_CLOSED。多次关闭GDtlsConnection不会返回错误。

GDtlsConnection将在最后一个引用释放时自动关闭,但您可能希望调用此函数以确保尽早释放资源。

如果cancellable被取消,GDtlsConnection可能会被部分关闭,并且未传输的挂起数据可能会丢失。再次调用g_dtls_connection_close()以完成关闭GDtlsConnection。

自:2.48以来支持

参数

cancellable

类型: GCancellable

一个GCancellable,或者NULL

参数可以NULL
数据由方法调用者拥有。
错误

类型: GError **

用于可恢复错误的返回位置。

参数可以NULL
如果返回位置不是NULL,那么必须将其初始化为NULLGError*
如果没有错误,该方法将使参数保持初始化为NULL
在出现错误的情况下,参数将被设置为一个新的GError分配;调用者将负责该数据的拥有权,并负责释放它。

返回值

类型: gboolean

成功时返回TRUE,否则返回FALSE