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

2023-12-12

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

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

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

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

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

EDIT

我正在考虑提供更多低级信息的事件或线程(不是 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.connect()将在 WL.Client.init() 期间自动调用。

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

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

强烈建议您以WL.Client.connect() (or initOptions.connectOnStartup=true).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IBM Worklight - 连接/重新连接:WL.Client.connect 与 connectOnStartup 与 WL.Client.invokeProcedure 的相关文章

随机推荐

  • 如何更改 Bootstrap 列的顺序?

    如何更改 Bootstrap 4 的 Flexbox 网格系统的列顺序 我有代码 div class contents div class row row 1 div class col sm 6 Content Left div div
  • 如何将图像设置为圆形

    我怎样才能将图像设置在一个圆圈中 有没有更好的方法来设置带有圆圈框的图像 特别是 Windows 10 登录屏幕上的图像框架 Circle cir2 new Circle 250 200 80 cir2 setStroke Color SE
  • 这些对象的引用是在栈上还是在堆上?

    如果有人能告诉我我是否理解得很好 我将不胜感激 class X A a1 new A reference on the stack object value on the heap a1 VarA 5 on the stack value
  • 自定义形状的边框

    在这里摆弄 我正在尝试设置一些不规则形状的边框颜色 箭头ish 我做到了 问题是 为了实现这些形状 我必须已经操纵边框 所以我不能这样做border color red 我想将每个形状的边框颜色设置为2px HTML div class m
  • 未报告的异常UnknownHostException;必须被抓住或宣布被扔出

    我有下面给出的代码 但是 当我尝试编译代码时 出现以下错误 MyClient java 12 error unreported exception UnknownHostException must be caught or declare
  • 如何在java中从图像中获取光栅?

    我正在尝试将 gif 图像从 url 加载到 java util image Raster 中 以便我可以操作它 我能找到的加载和解压缩图像的唯一方法是 Toolkit getImage 它返回 java awt Image 我需要将其转换
  • 如何在您的网站中使用长轮询或 Ajax 推送

    我想知道如何使用ajax推送 我从各种网络文章中了解到 Ajax推送可以通过使用一些程序来获得 例如COMET APE AJAX PUSH ENGINE 等 但我想知道是否有更简单的使用方法以及使用什么语言实现ajax推送 因为在我看过的文
  • Ruby on Rails 中多对多的正确实现?

    新手提问 请注意 我想在 Rails 中实现基本的多对多关系 并且我试图找出哪种方法被认为是其中最 Rails 方式 在传统的非 ActiveRecord 数据库中 我刚刚创建了两个表和一个联结表 并编写了一堆逻辑 以确保在对其中任何一个表
  • PHP:根据季节设置图像?

    大家好 你对此有何看法 我想根据是冬季还是夏季在我的网站上设置一个标题图像 一个用于冬季 一个用于夏季 所以我想知道最简单的方法是什么 我想到使用 date n 并查询返回的值对于冬季或夏季月份是否为真 你会怎么办 谢谢你的提示 谷歌搜索并
  • 片段之间的通信

    我有默认的主从流程 该流程是在创建新项目时自动创建的 我的问题是 当我向详细信息侧添加按钮时 有没有办法通过按该按钮来更新我的列表面 换句话说 ItemDetailFragment 和 ItemListFragment 可以通信吗 是的 只
  • Android 中的加权热图

    我正在尝试为我的 Android 应用程序项目创建一个加权热图 我查看了谷歌文档 我不明白如何使用颜色数组和起点数组创建新的渐变 起始数组表示为 每种颜色的起点 以最大强度的百分比形式给出 这是什么意思 如何将颜色数组与起点数组关联起来 i
  • 如何在 ionic 4 中隐藏滚动条上的标题?

    我想知道如何通过向下滚动页面来隐藏 Ionic 4 中的标题 并在向上滚动时重新显示它 我找到了许多关于如何做到这一点的解决方案 但结果都证明它们不起作用或已经过时了 因此 我收集了我能找到的所有信息来提供这个答案 谢谢这个视频我让它工作了
  • 以html形式输入Integer时抛出BadValueError

    我正在使用 Python 创建 Google App Engine 应用程序 为了测试我的应用程序 我使用 html 表单输入数据 在我的表格中我有一行 tr td Age td td td tr
  • PHPStorm 8 + PHPUnit 4.2.6 错误

    我做不到PHPUnit 4 2 6跟 共事PHPStorm 8 PHPUnit 在 PHPStorm 8 设置中作为 phar 加载 每当我尝试在 PHPStorm 中运行单元测试时 我都会收到此错误 Parse error syntax
  • 将输出重定向到文本文件c#

    这是我的代码 Process pr2 new Process pr2 StartInfo FileName show snps pr2 StartInfo Arguments Clr x 2 out delta gt out snps pr
  • 转换后的 PDF 中缺少文档中替换的文本

    我从 Google Apps 脚本开始并尝试创建文件 Google Doc 的副本 然后替换复制文档中的文本并将其转换为 PDF 该功能工作正常 但替换的文本不会出现在 PDF 文件中 而是出现在复制的文件 我替换的位置 中 我读到了关于s
  • 角度数据表列可拖出表格

    是否可以避免该列 而不是拖出数据表视图区域 正如您可以自己看出的那样 我从此链接中谈论的内容https l lin github io angular datatables withColReorder when you try to dr
  • 是否存在禁用 file_get_contents() 函数工作的机制?

    i use file get contents 函数从站点获取数据并将数据存储在数据库中 如果有一天脚本开始不起作用 这对我来说将非常不方便 我知道 如果他们改变网站的结构 它可能会开始不起作用 但现在我担心 也许有机制可以禁用此功能的工作
  • Android 模拟器无法访问互联网

    我无法在模拟器中访问互联网 它甚至无法在模拟器浏览器上连接到谷歌 我已经检查过设置 数据已启用复选框已选中 在发布问题之前我提到了一些SO问题 As 这个答案建议 我没有启用 wifi 所以这似乎不是问题 作为另一个答案在同一个问题中 我尝
  • IBM Worklight - 连接/重新连接:WL.Client.connect 与 connectOnStartup 与 WL.Client.invokeProcedure

    在我们的项目中 我们试图弄清楚连接到服务器的最佳流程是什么 特别是在处理离线 在线场景等时 现在 对于我们来说 连接到 WL 服务器的所有三个选项似乎都是相似的 无论我们使用什么选项 我们都可以完美地调用我们的适配器过程 并且我们会收到在控