Web 消息總線:JetBus
Jet 是一個用于 Web 的輕量級和實時的消息總線。支持瀏覽器和 Node.js node-jet,提供 Lua 版本 lua-jet 和基于 Arduino 的版本 Arduino-Jet。
示例代碼:
var jet = require('node-jet');
var peer = new jet.Peer({
url: 'ws://jet.nodejitsu.com:80'
});
peer.connect().then(function() {
console.log('peer is connected to daemon');
});
var machineName = new jet.State('machine/name', 'animal');
machineName.on('set', function(newName) {
setMachineName(newName); // does something appropriate
});
peer.add(machineName).then(function() {
console.log('machine/name has been added to daemon');
}).catch(function(err) {
console.log('could not add machine/name to daemon', err);
});
// add a state
var cpuLoad = new jet.State('cpu/load', readCpuLoad());
peer.add(cpuLoad).then(function() {
// async post new value
setTimeout(function () {
cpuLoad.value(readCpuLoad());
},3000);
});添加方法:
// add a method
var greet = new jet.Method('greet');
greet.on('call', function(name) {
if (name.first === 'John') {
throw 'John is a bad guy!';
}
var greeting = 'Hello ' + name.first + ' ' + name.last;
console.log(greeting);
return greeting;
});
peer.add(greet); 本文由用戶 dgy7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!