3

我正在进行的项目,他们希望在每次通话之前进行主动服务器连接检测。

我试图找出它是否更好用:WL.Device.getNetworkInfo:isNetworkConnected 或 WL.Client.connect

我知道 getNetworkInfo 仅检查手机是否与网络连接,而 wl.client.connect 将实际连接到服务器。我只是担心 wl.client.connect 在每次调用调用之前都会进行昂贵的调用。在调用 invokeProcedure 之前是否有更好的方法来检查连接性?

4

1 回答 1

4

getNetworkInfo API 可用于验证设备当前是否具有 Internet 连接。

至于 WL 服务器连接,只有一种方法可以验证服务器是否可访问,即向 WL 服务器发出请求并验证它是否成功。然而,这不是正确的方法。每个 WL 服务器调用 API,例如 WL.Client.connect()、WL.Client.login()、WL.Client.invokeProcedure(),都有 onSuccess 和 onFailure 回调。使用它们来验证服务器连接是否成功。

从技术上讲,即使您在发出真实请求之前执行了 WL.Client.connect() 之类的附加请求,它也无法 100% 保证真实请求会成功。

此外,您可能希望使用 WORKLIGHT_IS_CONNECTED 和 WORKLIGHT_IS_DISCONNECTED 事件,每次上次 WL 服务器调用状态切换成功<->失败时都会触发这些事件。在 Worklight 入门页面查看离线培训模块。

于 2013-06-11T16:39:53.097 回答