类型 函数 库 network.* 返回值 无 修订 版本 2024.3703 关键词 网络状态, 可达性, setStatusListener 另请参阅 network.canDetectNetworkStatusChanges networkStatus
开始监控主机的网络可达性状态。此 API 的设计理念是监控单个主机,而不是直接监控硬件。由于互联网状况、防火墙配置、身份验证规则以及是否需要完整的 DNS 路由,某些主机可能仍然可以访问,而其他主机则无法访问。
网络可达性(networkStatus)事件仅在 macOS 和 iOS 上受支持。
目前仅支持命名主机。IP 地址无效。
此 API 允许使用单独或通用的事件侦听器监控多个主机 URL。为每个要监控的主机 URL 调用此 API。
如果尝试在蜂窝网络上监控带有子文件夹(如 "www.apple/xyz"
)的 URL 地址,则可能存在返回错误连接状态的错误。但是,使用 WiFi 时,URL 应返回正确的连接状态。
network.setStatusListener( hostURL, listener )
字符串。 要监控的主机。可以类似于 "www.solar2d.com"
。不应包含 http://
或端口号。
侦听器。 获取指定主机的 networkStatus 事件的侦听器。传递 nil
可取消注册为指定主机设置的侦听器。
function networkListener( event ) print( "address", event.address ) print( "isReachable", event.isReachable ) print( "isConnectionRequired", event.isConnectionRequired ) print( "isConnectionOnDemand", event.isConnectionOnDemand ) print( "IsInteractionRequired", event.isInteractionRequired ) print( "IsReachableViaCellular", event.isReachableViaCellular ) print( "IsReachableViaWiFi", event.isReachableViaWiFi ) -- If you want to remove the listener, call network.setStatusListener( "www.apple.com", nil ) end if ( network.canDetectNetworkStatusChanges ) then network.setStatusListener( "www.apple.com", networkListener ) else print( "Network reachability not supported on this platform." ) end