方法
自:2.22
声明 [源]
gssize
g_socket_send (
GSocket* socket,
const gchar* buffer,
gsize size,
GCancellable* cancellable,
GError** error
)
描述 [源]
尝试从套接字发送来自缓冲区的size字节数据。这主要用于面向连接的套接字;这等同于在address设置为NULL的情况下调用g_socket_send_to()。
如果套接字处于阻塞模式,调用将阻塞,直到套接字队列有空间可以容纳数据。如果没有可用的空间且套接字处于非阻塞模式,将返回G_IO_ERROR_WOULD_BLOCK错误。要通知释放空间时,等待G_IO_OUT条件。注意,即使你之前已经收到了G_IO_OUT条件的通知,g_socket_send()也可能返回G_IO_ERROR_WOULD_BLOCK错误。(在Windows特别常见,这是由于底层API的工作方式导致的。)
出错时返回-1,并将error设置相应地。
自2.22版以来可用。
参数
buffer-
类型:一个
guint8数组包含要发送数据的缓冲区。
数组长度由 size参数指定。数据归调用者所有。 size-
类型:
gsize要发送的字节数。
cancellable-
类型:
GCancellable一个%GCancellable或
NULL。该参数可以是 NULL。数据归调用者所有。 error-
类型:
GError **用于可恢复错误的返回位置。
该参数可以是 NULL。如果返回位置不是 NULL,则必须将其初始化为一个NULLGError*。如果没有错误,该方法将保留初始化为 NULL的参数。在出错的情况下,该参数将被设置为一个新分配的 GError;调用者将接管数据的所有权,并负责释放它。