方法

Gio套接字receive_bytes

自:2.80

声明 [src]

GBytes*
g_socket_receive_bytes (
  GSocket* socket,
  gsize size,
  gint64 timeout_us,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

从套接字接收数据(最多size字节)。

此函数是g_socket_receive()的变体,返回GBytes而不是普通缓冲区。

-1传递给timeout_us将阻塞,直到收到数据(或连接关闭,或发生错误)。传递0将使用GSocket:timeout的默认超时,或传递一个正数以在返回G_IO_ERROR_TIMED_OUT之前等待那么多微秒的数据。

自:2.80

参数

size

类型: gsize

您希望从套接字中读取的字节数。

timeout_us

类型: gint64

等待的超时时间,以微秒为单位,或 -1 表示无限期阻塞。

cancellable

类型: GCancellable

A %GCancellable, 或 NULL.

参数可以是 NULL.
数据由方法的调用者拥有。
error

类型: GError **

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

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

返回值

类型: GBytes

包含接收到的字节的字节数据缓冲区,或在错误发生时为 NULL

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