虚拟方法

GioNetworkMonitorcan_reach

自:2.32

声明 [源代码]

gboolean
can_reach (
  GNetworkMonitor* monitor,
  GSocketConnectable* connectable,
  GCancellable* cancellable,
  GError** error
)

描述 [源代码]

尝试确定由 connectable 指向的主机是否可达,而不实际尝试连接到它。

即使 GNetworkMonitor:network-availableFALSE,如果,例如,monitor 可以确定 connectable 指向本地网络上的主机,此函数也可能返回 TRUE

如果 monitor 认为尝试连接到 connectable 将成功,它将返回 TRUE。否则,它将返回 FALSE 并设置 error 为适当的错误(例如 G_IO_ERROR_HOST_UNREACHABLE)。

请注意,虽然此函数不尝试连接到 connectable,但它可能会在短时间内阻塞(例如,在本地网络上尝试多播 DNS),因此如果您不希望阻塞,您应使用 g_network_monitor_can_reach_async()。

自:2.32

参数

connectable

类型: GSocketConnectable

一个 GSocketConnectable

数据由方法的调用者拥有。
cancellable

类型: GCancellable

一个 GCancellable,或 NULL

参数可以是 NULL
数据由方法的调用者拥有。
error

类型: GError **

一个可恢复错误 的返回位置。

参数可以是 NULL
如果返回位置不是 NULL,那么您必须将其初始化为一个空的 GError*
如果没有错误,虚拟函数将初始化此参数为 NULL
发生错误时,将使用新分配的 GError 设置参数;调用者将接管数据,并负责释放它。

返回值

类型: gboolean

如果 connectable 可达,则为 TRUE,如果不达则为 FALSE