Method
GioSocketset_keepalive
since: 2.22
Declaration [src]
void
g_socket_set_keepalive (
GSocket* socket,
gboolean keepalive
)
Description [src]
Sets or unsets the SO_KEEPALIVE
flag on the underlying socket. When
this flag is set on a socket, the system will attempt to verify that the
remote socket endpoint is still present if a sufficiently long period of
time passes with no data being exchanged. If the system is unable to
verify the presence of the remote endpoint, it will automatically close
the connection.
This option is only functional on certain kinds of sockets. (Notably,
G_SOCKET_PROTOCOL_TCP
sockets.)
The exact time between pings is system- and protocol-dependent, but will normally be at least two hours. Most commonly, you would set this flag on a server socket if you want to allow clients to remain idle for long periods of time, but also want to ensure that connections are eventually garbage-collected if clients crash or become unreachable.
Available since: 2.22
Sets property | Gio.Socket:keepalive |