方法
Geo套接字set_keepalive
自:2.22
声明 [源代码]
void
g_socket_set_keepalive (
GSocket* socket,
gboolean keepalive
)
描述 [源代码]
设置或清除底层数据报套接字上的 SO_KEEPALIVE
标志。当在此套接字上设置此标志时,如果经过足够长时间没有数据交换,系统将尝试验证远程套接字端点是否仍存在。如果系统无法验证远程端点的存在,它将自动关闭连接。
此选项仅在某些类型的套接字上有效。(特别是,G_SOCKET_PROTOCOL_TCP
规范的套接字。)
ping之间的具体时间取决于系统和协议,但通常至少为两个小时。通常情况下,如果您希望允许客户端长时间空闲,但又想确保如果客户端崩溃或无法访问,连接最终能够被垃圾回收,那么您可以在服务器套接字上设置此标志。
自2.22版本起可用