如何在VS.Net 2015中安装MQTT cordova插件

时间:2015-08-14 04:41:48

标签: cordova visual-studio-2015 visual-studio-cordova ngcordova

我是Cordova开发的新手,所以我想知道是否有人可以帮助我。

我正在尝试开发一个与蚊子服务器通信的示例cordova应用程序。

我试图使用插件here,但看起来这样不起作用,因为有一个java文件试图复制哪个不可用

<source-file src="src/android/Mqtt.java" target-dir="src/com/arcoirislabs/mqttcont" /> 

并且我认为在mqtt.js中生成连接url的方式存在错误

if (data.secure) {
      dataUrl = "ssl://" + data.url  + data.port;
} else {
     dataUrl = "tcp://" + data.url + data.port;
};

我认为它应该像dataUrl = "tcp://" + data.url + ':' + data.port;

然而,修复此问题并对上述源文件进行评论并没有帮助。所以我想知道是否有人在Cordova,/ VS.net 2015上有这个MQTT示例的工作示例。

顺便说一下,我使用AngularJS ToDO App作为我的例子,不确定这是否是一个问题,发布代码如下:

ToDoCtrl.prototype.publishMqtt = function () {
        mqtt.publish({
            url: "localhost",
            topic: "Kiran/Temp/PNW6",
            secure: false,
            qos: "0",
            clientId: "SampleJavaV3_",
            port: "1883",
            message: "23.4",
            cleanSession: true,
            username: null,
            password: null,
            debug: true,
            success: function (data) {
                alert(data);
            },
            error: function (data) {
                alert(data);
            }
        });
    };

我在mqtt.js

中的以下行中看到的错误
cordova.exec(function (response) {
            data.success(response)
        }, function (error) { data.error(error); }, "MqTTPlugin", "publish", [dataUrl, data.clientId, quietM, data.username, data.password, cleanSes, data.topic, data.qos, data.message]);

它抱怨

TypeError: Cannot read property 'publish' of undefined
  at Object.module.exports.exec (http://localhost:4400/ripple/assets/ripple.js:40:29342)
  at Object.sero.publish (http://localhost:4400/plugins/com.arcoirislabs.plugin.mqtt/www/mqtt.js:38:17)
  at ToDoCtrl.publishMqtt (http://localhost:4400/scripts/controllers/toDoCtrl.js:86:11)

我还可以看到有一个电话间隙插件here,但我无法理解如何在VS.Net cordova应用程序中使用它。

此致 基兰

1 个答案:

答案 0 :(得分:0)

看起来我来不及回答这个问题。我是该插件的原始维护者。请使用我们的新插件。它工作正常。虽然我们定期更新插件以添加新功能和平台。那个时候工作不顺利,因为图书馆的需求没有包含在里面。现在我们与Gradle系统完全兼容,底层库比后者使用的库(这是Eclipse Paho的方式)要好得多。 如果有任何问题或建议,请告诉我。