方法
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
。
方法的调用者将继承返回数据的所有权,并负责释放它。 |