方法

GioNetworkMonitorcan_reach

自:2.32

声明 [src]

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

描述 [src]

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

如果,例如,monitor 能够确定 connectable 指向的是本地网络上的主机,即使 GNetworkMonitor:network-availableFALSE,它仍可能返回 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,则必须将其初始化为 NULL GError*
如果没有错误,方法将保持参数初始化为 NULL
在出错的情况下,参数将被设置为一个新的 GError;调用者将负责数据,并将其释放。

返回值

类型: gboolean

如果 connectable 可达,则返回 TRUE,否则返回 FALSE