gpt4 book ai didi

ibm-mobilefirst - IBM Worklight - 连接/重新连接 : WL. Client.connect 与 connectOnStartup 与 WL.Client.invokeProcedure

转载 作者:行者123 更新时间:2023-12-02 00:06:49 25 4
gpt4 key购买 nike

在我们的项目中,我们试图弄清楚连接到服务器的最佳过程是什么 - 特别是在处理离线/在线场景等时。

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

这三种连接到 WL 服务器的方式之间是否存在任何重要差异,或者在所有三种情况下都执行基本相同的连接过程?

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

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

编辑

我在考虑提供更多低级信息的事件或线程(不是 WORKLIGHT_IS_CONNECTED)——基本上是当设备失去/获得 WIFI/3G/4G 连接和/或互联网连接时触发的事件。或者是否只有使用 WL.Device.getNetworkInfo() 的轮询可用?

Cordova Event 的使用是否像:

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

提供接近于此的功能?

最佳答案

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

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

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

关于ibm-mobilefirst - IBM Worklight - 连接/重新连接 : WL. Client.connect 与 connectOnStartup 与 WL.Client.invokeProcedure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17822922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com