方法

GioSocketreceive_with_blocking

自:2.26

声明 [源代码]

gssize
g_socket_receive_with_blocking (
  GSocket* socket,
  gchar* buffer,
  gsize size,
  gboolean blocking,
  GCancellable* cancellable,
  GError** error
)

描述 [源代码]

其行为与g_socket_receive()完全相同,只是在选择阻塞或非阻塞行为时,不再取决于socket的属性,而是由blocking参数决定。

自:2.26

参数

buffer

类型:一个guint8数组

a buffer to read data into (which should be at least `size` bytes long).
此参数将由函数设置。
数组的长度由size参数指定。
返回的数据由实例拥有。
size

类型:gsize

您想从socket中读取的字节数。

blocking

类型:gboolean

是否执行阻塞或非阻塞I/O。

cancellable

类型:GCancellable

一个%GCancellable或NULL

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

类型:GError **

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

此参数可以是NULL
如果返回位置不为NULL,则必须将其初始化为NULL GError*
如果没有错误,方法将保留将参数初始化为NULL
如果发生错误,将参数设置为新分配的GError;调用者将获得数据的所有权,并负责释放它。

返回值

类型:gssize

读取的字节数,如果连接被对等方关闭,则为0,或出错时为-1。