构造函数

GioSocketnew_from_fd

自从: 2.22

声明 [源码位置]

GSocket*
g_socket_new_from_fd (
  gint fd,
  GError** error
)

描述 [源码位置]

从一个本地文件描述符或winsock SOCKET 句柄创建一个新的 GSocket

这将读取所有设置从文件描述符,这样所有属性都应该工作。注意,文件描述符将设置为非阻塞模式,独立于 GSocket 的阻塞模式。

在成功的情况下,返回的 GSocket 将取得 fd 的所有权。在失败的情况下,调用者必须自己关闭 fd

从GLib 2.46开始,调用此操作在一个非套接字描述符上不再是一个致命错误。相反,将设置一个带有代码 G_IO_ERROR_FAILED 的 GError。

支持以来: 2.22

参数

fd

类型: gint

一个本地套接字文件 描述符。

错误

类型: GError **

一个可恢复错误的返回位置。

参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULL GError*
如果无错误,构造函数将保留参数初始化为 NULL
在发生错误的情况下,参数将设置为一个新分配的 GError;调用者将取得对数据的所有权,并负责释放它。

返回值

类型: GSocket

一个 GSocket 或在错误情况下的 NULL。使用 g_object_unref() 释放返回的对象。

函数的调用者将取得所有权并负责释放数据。