接口

GioNetworkMonitor

自:2.32

描述 [src]

interface Gio.NetworkMonitor : Gio.Initable

GNetworkMonitor 为用于监控网络连接的跨平台 API 提供简单的使用方式。在 Linux 上,可用的实现基于内核的 netlink 接口和 NetworkManager。

此外,还提供在 Flatpak 沙盒内使用的实现。

自 2.32 起提供

先决条件

为了实现 NetworkMonitor,你的类型必须继承自 GInitable

函数

g_network_monitor_get_default

获取系统的默认 GNetworkMonitor

自:2.32

实例方法

g_network_monitor_can_reach

尝试确定是否可以访问 connectable 指向的主机,而无需实际尝试连接到它。

自:2.32

g_network_monitor_can_reach_async

异步地尝试确定是否可以访问 connectable 指向的主机,而无需实际尝试连接到它。

g_network_monitor_can_reach_finish

完成异步网络连接性测试。参阅 g_network_monitor_can_reach_async()。

g_network_monitor_get_connectivity

获取比 g_network_monitor_get_network_available() 更详细的网络状态。

自 2.44 起提供

g_network_monitor_get_network_available

检查网络是否可用。“可用”在此指系统对 IPv4 或 IPv6 中至少一个设有可用的默认路由。这并不一定意味着可以访问公共 Internet。更多详细信息,请参阅 GNetworkMonitor:network-available

自:2.32

g_network_monitor_get_network_metered

检查网络是否按流量计费。更多详细信息,请参阅 GNetworkMonitor:network-metered

自 2.46 起提供

属性

Gio.NetworkMonitor:connectivity

有关主机网络连接的更详细信息。更多详细信息,请参阅 g_network_monitor_get_connectivity()GNetworkConnectivity

自 2.44 起提供

Gio.NetworkMonitor:network-available

网络是否被认为可用。也就是说,系统对 IPv4 或 IPv6 中至少一个设有默认路由。

自:2.32

Gio.NetworkMonitor:network-metered

网络是否被认为按流量计费。

自 2.46 起提供

信号

Gio.NetworkMonitor::network-changed

当网络配置发生更改时发出。

自:2.32

接口结构

struct GioNetworkMonitorInterface {
  GTypeInterface g_iface;
  void (* network_changed) (
    GNetworkMonitor* monitor,
    gboolean network_available
  );
  gboolean (* can_reach) (
    GNetworkMonitor* monitor,
    GSocketConnectable* connectable,
    GCancellable* cancellable,
    GError** error
  );
  void (* can_reach_async) (
    GNetworkMonitor* monitor,
    GSocketConnectable* connectable,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* can_reach_finish) (
    GNetworkMonitor* monitor,
    GAsyncResult* result,
    GError** error
  );
  
}

GNetworkMonitor 的虚拟函数表。

接口成员
g_iface
GTypeInterface
 

父接口。

network_changed
void (* network_changed) (
    GNetworkMonitor* monitor,
    gboolean network_available
  )
 

GNetworkMonitor::network-changed 信号的虚拟函数指针。

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

g_network_monitor_can_reach() 的虚拟函数指针。

can_reach_async
void (* can_reach_async) (
    GNetworkMonitor* monitor,
    GSocketConnectable* connectable,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
 

g_network_monitor_can_reach_async() 的虚拟函数指针。

can_reach_finish
gboolean (* can_reach_finish) (
    GNetworkMonitor* monitor,
    GAsyncResult* result,
    GError** error
  )
 

g_network_monitor_can_reach_finish() 的虚拟函数指针。

虚拟方法

Gio.NetworkMonitor.can_reach

尝试确定是否可以访问 connectable 指向的主机,而无需实际尝试连接到它。

自:2.32

Gio.NetworkMonitor.can_reach_async

异步地尝试确定是否可以访问 connectable 指向的主机,而无需实际尝试连接到它。

Gio.NetworkMonitor.can_reach_finish

完成异步网络连接性测试。参阅 g_network_monitor_can_reach_async()。

Gio.NetworkMonitor.network_changed

GNetworkMonitor::network-changed 信号的虚拟函数指针。