network.setStatusListener()

类型 函数
network.*
返回值
修订 版本 2024.3703
关键词 网络状态, 可达性, setStatusListener
另请参阅 network.canDetectNetworkStatusChanges
networkStatus

概述

开始监控主机的网络可达性状态。此 API 的设计理念是监控单个主机,而不是直接监控硬件。由于互联网状况、防火墙配置、身份验证规则以及是否需要完整的 DNS 路由,某些主机可能仍然可以访问,而其他主机则无法访问。

陷阱

语法

network.setStatusListener( hostURL, listener )
hostURL (必填)

字符串 要监控的主机。可以类似于 "www.solar2d.com"。不应包含 http:// 或端口号。

listener (必填)

侦听器 获取指定主机的 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