0

任何人都可以建议我如何解决这个问题。

我希望在 phonegap 上的 jquery 移动应用程序和 java 服务器之间建立双向通信。

可以建立发布/订阅通信吗?

有没有办法使用JMS?

我尝试过 websockets,但我觉得它缺乏控制,即:我无法找到一种方法来列出服务器上连接的客户端数量等。这可能是因为我对 web sockets 缺乏了解,但是 web插座对我来说看起来欠发达。

有什么建议么。

谢谢

4

2 回答 2

0

双向通信可以通过 PhoneGap 底层的 Cordova 机制实现。为此,您应该编写自己的插件。

从 JavaScript 到本机应用程序的通信非常简单,并在此处记录: https
://cordova.apache.org/docs/en/5.0.0/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide 要点是使用cordova.exec() 方法触发插件中的相应功能。

此处记录了从本机到 JavaScript 的通信: how to send data or message from java application / plugin to javascript with cordova / phonegap

您可以随时从 java 执行 javascript 执行此操作:

字符串 js = "alert('test')"; webView.loadUrlNow("javascript:" + js);

或者您可以初始化插件并保持回调这样做

PluginResult pgRes = new PluginResult(PluginResult.Status.OK, "message"); pgRes.setKeepCallback(true); callbackContext.sendPluginResult(pgRes);

于 2015-04-30T08:17:20.393 回答
0

PhoneGap 建立在所有受支持平台的系统 Web 视图之上……您可以在 Web 视图内部做的最好的事情是 Web 套接字(在支持的情况下),或短时间间隔轮询。如果这不适合,您可以创建一个本机插件来利用基于 JS 的应用程序中的本机代码/本机通信库。问题是本机插件必须用本机代码(iOS 的 obj-c,Android 的 java 等)编写,并且不是跨平台的,但可以做到。您可以在此处阅读有关本机插件的更多信息:http: //docs.phonegap.com/en/2.0.0/guide_plugin-development_index.md.html#Plugin%20Development%20Guide

于 2012-08-20T02:07:15.873 回答