虚拟方法
GioNetworkMonitorcan_reach
自:2.32
声明 [源代码]
gboolean
can_reach (
GNetworkMonitor* monitor,
GSocketConnectable* connectable,
GCancellable* cancellable,
GError** error
)
描述 [源代码]
尝试确定由 connectable
指向的主机是否可达,而不实际尝试连接到它。
即使 GNetworkMonitor:network-available
为 FALSE
,如果,例如,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
。数据由方法的调用者拥有。 cancellable
-
类型:
GCancellable
一个
GCancellable
,或NULL
。参数可以是 NULL
。数据由方法的调用者拥有。 error
-
类型:
GError **
一个可恢复错误 的返回位置。
参数可以是 NULL
。如果返回位置不是 NULL
,那么您必须将其初始化为一个空的GError*
。如果没有错误,虚拟函数将初始化此参数为 NULL
。发生错误时,将使用新分配的 GError
设置参数;调用者将接管数据,并负责释放它。