Method
GioSocketsend
since: 2.22
Declaration [src]
gssize
g_socket_send (
GSocket* socket,
const gchar* buffer,
gsize size,
GCancellable* cancellable,
GError** error
)
Description [src]
Tries to send size
bytes from buffer
on the socket. This is
mainly used by connection-oriented sockets; it is identical to
g_socket_send_to()
with address
set to NULL
.
If the socket is in blocking mode the call will block until there is
space for the data in the socket queue. If there is no space available
and the socket is in non-blocking mode a G_IO_ERROR_WOULD_BLOCK
error
will be returned. To be notified when space is available, wait for the
G_IO_OUT
condition. Note though that you may still receive
G_IO_ERROR_WOULD_BLOCK
from g_socket_send()
even if you were previously
notified of a G_IO_OUT
condition. (On Windows in particular, this is
very common due to the way the underlying APIs work.)
On error -1 is returned and error
is set accordingly.
Available since: 2.22
Parameters
buffer
-
Type: An array of
guint8
The buffer containing the data to send.
The length of the array is specified in the size
argument.The data is owned by the caller of the method. size
-
Type:
gsize
The number of bytes to send.
cancellable
-
Type:
GCancellable
A %GCancellable or
NULL
.The argument can be NULL
.The data is owned by the caller of the method. error
-
Type:
GError **
The return location for a recoverable error.
The argument can be NULL
.If the return location is not NULL
, then you must initialize it to aNULL
GError*
.The argument will be left initialized to NULL
by the method if there are no errors.In case of error, the argument will be set to a newly allocated GError
; the caller will take ownership of the data, and be responsible for freeing it.