如何从C#MVC中调用NodeJ代码
本文关键字:调用 NodeJ 代码 C#MVC | 更新日期: 2023-09-27 18:11:33
我在控制台中运行的nodeJ中使用了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的示例代码
我有一个解决方案,但我想澄清一下,这段代码使用NodeJs,还是本机c#代码?
<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>
效果很好。但我想知道这个代码是否使用NodeJ?请告诉我。
您从未在客户端应用程序中直接使用node
。但是,可以通过向node
应用程序中指定的连接端点发出AJAX
或XHR
请求来访问这些功能。
示例
要访问javascript
应用程序中的MongoDb
数据库,您可以在节点应用程序中指定一些url或端点,从而进一步调用回调函数。这些回调函数包含用于连接到mongo
数据库的代码。
从客户端,您对指定的url以及所需的数据发出AJAX
请求。然后回调执行CRUD操作并返回相应的结果。
p.S.您在<script>
标记内的C#文件中的答案中所写的内容是纯javascript
。没有什么比Node.Js
更好的了。