方法

GioSocketsend_with_blocking

自:2.26

声明 [src]

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

描述 [src]

此操作与 g_socket_send() 的行为完全相同,区别在于阻塞或非阻塞行为的选择是由 blocking 参数决定的,而不是由 socket 的属性决定的。

自 2.26 起可用

参数

buffer

类型: 一个 guint8 的数组

包含要发送数据的缓冲区。

数组的长度由 size 参数指定。
数据由方法的调用者拥有。
size

类型: gsize

要发送的字节数。

blocking

类型: gboolean

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

cancellable

类型: GCancellable

A %GCancellable 或 NULL

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

类型: GError **

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

该参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULLGError*
如果没有错误,方法将保留初始化的 NULL
在发生错误的情况下,参数将被设置为一个新的 GError;调用者将负责所有权,并负责释放它。

返回值

类型: gssize

写入的字节数(可能小于 size),或在错误的情况下为 -1。