虚拟方法
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设置参数;调用者将接管数据,并负责释放它。