方法
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-available
为 FALSE
,它仍可能返回 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
,则必须将其初始化为NULL
GError*
。如果没有错误,方法将保持参数初始化为 NULL
。在出错的情况下,参数将被设置为一个新的 GError
;调用者将负责数据,并将其释放。