方法

GioSocketget_credentials

自:2.26

声明 [src]

GCredentials*
g_socket_get_credentials (
  GSocket* socket
  GError** error
)

描述 [src]

如果存在,返回连接到此套接字的外部进程的凭据(例如,它仅支持 G_SOCKET_FAMILY_UNIX 套接字)。

如果此操作在 操作系统 上不受支持,则方法将使用错误代码 G_IO_ERROR_NOT_SUPPORTED 失败。在 Linux 上,这是通过读取底层的 SO_PEERCRED 选项实现的。

以下平台预期将提供此方法

  • Linux 自 GLib 2.26
  • OpenBSD 自 GLib 2.30
  • Solaris、Illumos和OpenSolaris自GLib 2.40起
  • NetBSD自GLib 2.42起
  • macOS、tvOS、iOS自GLib 2.66起

从外部对等方获取凭据的其他方式包括GUnixCredentialsMessage类型和g_unix_connection_send_credentials() / g_unix_connection_receive_credentials()函数。

可用自:2.26

返回值

类型: GCredentials

如果设置了error,则返回NULL,否则返回一个必须使用g_object_unref()释放的GCredentials对象。

方法调用者将拥有返回的数据,并负责释放它。