我在控制台中运行的nodeJs使用了mqtt代码 但是我想在c#MVC中使用这个nodeJs Mqtt代码 我怎样才能实现它?
我的NodeJs代码如下,
Server.js
var mqtt = require('mqtt');
var sys = require("sys");
var stdin = process.openStdin();
var client = mqtt.connect('http://broker.mqttdashboard.com');
client.on('connect', function () {
console.log("Chat Application");
stdin.addListener("data", function(d) {
client.publish('presence',d.toString());
});
client.subscribe('msg');
client.on('message', function (topic, message) {
console.log('User2:',message.toString());
});
});
Client.js
var mqtt = require('mqtt');
var client = mqtt.connect('http://broker.mqttdashboard.com');
var sys = require("sys");
var stdin = process.openStdin();
client.on('connect', function () {
console.log("Chat Application");
client.subscribe('presence');
});
client.on('message', function (topic, message) {
console.log('User1:',message.toString());
});
stdin.addListener("data", function(d) {
client.publish('msg',d.toString());
});
请提供一些在c#MVC中使用nodejs的示例代码。
答案 0 :(得分:0)
我有一个解决方案,但我想澄清这个代码使用NodeJs或它是一个Native c#Code?
<script>
var client = new Messaging.Client("broker.mqttdashboard.com", 8000, "myclientid_" + parseInt(Math.random() * 100, 10));
client.onConnectionLost = function (responseObject) {
alert("connection lost: " + responseObject.errorMessage);
};
client.onMessageArrived = function (message) {
$('ol').append('<li> ' + $("#TUserName").val() + ' : ' + message.payloadString + '</li><br/>');
};
var options = {
timeout: 3,
onSuccess: function () {
client.subscribe("MQTT/Message", { qos: 2 });
alert("Connected");
},
onFailure: function (message) {
alert("Connection failed: " + message.errorMessage);
}
};
var publish = function (payload, topic, qos, retained) {
var message = new Messaging.Message(payload);
message.destinationName = topic;
message.qos = qos;
message.retained = retained;
client.send(message);
}
$(document).ready(function () {
client.connect(options);
$("#btn").click(function () {
publish($('#test').val(),"MQTT/Message", 2, true);
$("ol").append("<li> You : " + $("#test").val() + "</li>");
});
</Script>
效果很好。 但我想知道这个代码是使用NodeJs还是Not? 请让我知道。
答案 1 :(得分:0)
您永远不会在客户端应用程序中直接使用node
。但是,可以通过向AJAX
应用程序中指定的连接端点发出XHR
或node
请求来访问功能。
示例强>
要访问MongoDb
应用程序中的javascript
数据库,请在节点应用程序中指定一些URL或端点,以进一步调用回调函数。这些回调函数包含连接到mongo
数据库的代码。
从客户端,您向指定的网址发出AJAX
请求以及所需的数据。然后回调执行CRUD操作并返回相应的结果。
P.S。您在<script>
标记内的C#文件中的回答中写的是纯javascript
。其中没有Node.Js
。