方法

GioSocketset_timeout

自:2.26

声明 [源代码]

void
g_socket_set_timeout (
  GSocket* socket,
  guint timeout
)

描述 [源代码]

设置在几秒后,如果IO操作在socket上尚未完成,将超时。

在阻塞套接字上,这意味着任何阻塞的 GSocket 操作将在空闲 timeout 秒后超时,返回 G_IO_ERROR_TIMED_OUT

在非阻塞套接字上,调用 g_socket_condition_wait() 也会在给定时间后失败,返回 G_IO_ERROR_TIMED_OUT。使用 g_socket_create_source() 创建的源在空闲 timeout 秒后触发,此时设置所请求的条件。此时调用 g_socket_receive()、g_socket_send()、g_socket_check_connect_result() 等会失败,返回 G_IO_ERROR_TIMED_OUT

如果 timeout 为 0(默认值),操作将永远不会自行超时。

注意,如果 I/O 操作被信号中断,这可能会重置超时。

自 2.26 版本起可用。

设置属性Gio.Socket:timeout

参数

timeout

类型: guint

套接字的超时时间(秒),或 0 表示无超时。