【问题标题】:IBM Worklight - Connecting/Re-Connecting: WL.Client.connect vs. connectOnStartup vs. WL.Client.invokeProcedureIBM Worklight - 连接/重新连接:WL.Client.connect 与 connectOnStartup 与 WL.Client.invokeProcedure
【发布时间】:2013-07-23 06:35:10
【问题描述】:

在我们的项目中,我们试图确定连接到服务器的最佳流程是什么——尤其是在处理离线/在线场景等时。

现在,对我们来说,连接到 WL 服务器的所有三个选项似乎都是相似的。无论我们使用什么选项,我们都可以完美地调用我们的适配器过程,并且我们会收到在控制台中设置的通知消息。 我们不确定直接更新 - 这还不能正常工作。

这三种连接WL服务器的方式有什么重要区别吗?或者说这三种情况下执行的连接过程基本相同?

在连接之前 WL.Client.init() 怎么样 - 在我们手动使用 WL.Client.connect 连接之前,我们是否可以在我们的代码中再次调用它(除了标准窗口加载 EventListener) - 或者是 init()应该只调用一次?

与之相关的也是离线并重新连接。 据我在教程中阅读,WL 客户端框架正在管理连接状态。这是否意味着当 WL 客户端通过这三种方式中的任何一种连接到服务器并失去其 WLAN/3G/4G 连接(或者由于 Internet 连接阻止程序等原因而无法访问 WL 服务器)时,它会自动重新连接(定期尝试重新连接直到成功)当与 WL 服务器的连接再次可用时?

编辑

我在考虑提供更多低级信息(不是 WORKLIGHT_IS_CONNECTED)的事件或线程 - 基本上是在设备丢失/获取 WIFI/3G/4G 连接和/或互联网连接时触发的事件。还是只能使用 WL.Device.getNetworkInfo() 进行轮询?

是否会像使用 Cordova Event 一样:

document.addEventListener("offline", yourCallbackFunction, false);

提供类似的功能?

【问题讨论】:

    标签: ibm-mobilefirst worklight-server worklight-runtime


    【解决方案1】:

    虽然这三种方式确实有一些相似之处,但它们之间的差异非常重要。

    WL.Client.init() 初始化客户端 WL 框架。

    WL.Client.connect() 触发到 WL 服务器的连接请求。

    initOptions.connectOnStartup 定义是否在 WL.Client.init() 期间自动调用 WL.Client.connect()

    一般来说 - 大多数功能(例如适配器、远程禁用)即使您调用 WL.Client.invokeProcedure() 而不调用 WL.Client.connect() 也会起作用。但是有几件事不起作用:

    1. 如果不致电WL.Client.connect(),您将无法充分利用推送通知
    2. WL.Client.connect()期间触发直接更新
    3. WL.Client.connect() 将从服务器获取安全相关信息,例如领域的名称,用户是否在这些领域中进行了身份验证等。因此,WL.Client.getUserInfo.isAuthenticated().getUserName() 等所有 API 都将不起作用。

    强烈建议使用WL.Client.connect()(或initOptions.connectOnStartup=true)开始您的会话。

    【讨论】:

    • 感谢您的澄清!您可能对离线/无互联网连接处理有一些见解吗? WL 是否有一些内置管理,或者我们需要处理所有情况(例如设备丢失 WIFI/3G/4G,设备有 WIFI/3G/4G 但没有互联网连接等)与 WL.Client.connect( ) 电话等?
    • 谢谢。对不起,我不够清楚。我当然知道 PDF,我编辑了问题以包含更多详细信息。由于您没有提供有关任何自动化的其他信息,我假设 WL 客户端框架没有活动线程或类似的运行来重新连接或自行管理在线/离线状态?全部由开发者管理。
    • 这是正确的。 WL 不会尝试自动重新连接。如果您正在创建混合应用程序 (ios/android),您可以使用 cordova 事件来检测在线/离线事件 - cordova.apache.org/docs/en/2.5.0/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 2013-05-04
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    相关资源
    最近更新 更多