Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
w-comor-mqtt
Advanced tools
A websocket communicator in nodejs and browser. Mapping functions from nodejs to other end points, like a simple RPC.
A websocket communicator in nodejs and browser. Mapping functions from nodejs to other end points, like a simple RPC.
To view documentation or get support, visit docs.
w-comor-mqtt
includes 2 parts:
w-comor-mqtt-server
: for nodejs serverw-comor-mqtt-client
: for nodejs and browser clientNote:
w-comor-mqtt-server
is mainly dependent onnet
,aedes-server-factory
andaedes
.
Note:
w-comor-mqtt-client
is mainly dependent onmqtt
.
npm i w-comor-mqtt
w-comor-mqtt-server
:Link: [dev source code]
import WComorMqttServer from 'w-comor-mqtt/dist/w-comor-mqtt-server.umd.js'
function random(min, max) {
return Math.floor(Math.random() * max) + min
}
let opt = {
port: 8080, //for mqtt nodejs server
portWeb: 8090, //for mqtt web server
authenticate: function(token) {
//authenticate user by token
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(true)
}, 1000)
})
},
filterFuncs: function(token, funcs) {
//resolve funcs by authenticating user
return new Promise(function(resolve, reject) {
funcs = funcs.filter(function(v) {
return v.indexOf('Hide') < 0
})
resolve(funcs)
})
},
onClientChange: function(clients, opt) {
console.log(`Server[port:${opt.port}][port for web:${opt.portWeb}] now clients: ${clients.length}`)
},
funcs: {
'group.plus': function({ p1, p2 }) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(p1 * p2)
}, random(100, 3000))
})
},
'group.div': function({ p1, p2 }) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(p1 / p2)
}, random(100, 3000))
})
},
'add': function({ p1, p2 }) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(p1 + p2)
}, random(100, 3000))
})
},
'addHide': function({ p1, p2 }) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(p1 + p2)
}, random(100, 3000))
})
},
'minu': function({ p1, p2 }) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(p1 - p2)
}, random(100, 3000))
})
},
},
}
new WComorMqttServer(opt)
w-comor-mqtt-client
:Link: [dev source code]
import WComorMqttClient from 'w-comor-mqtt/dist/w-comor-mqtt-client.umd.js'
//opt
let opt = {
url: 'mqtt://localhost:8080', //for mqtt nodejs server
token: '*',
open: function() {
console.log('client nodejs: open')
},
close: function() {
console.log('client nodejs: close')
},
error: function(err) {
console.log('client nodejs: error:', err)
},
reconn: function() {
console.log('client nodejs: reconn')
},
}
//WComorMqttClient
new WComorMqttClient(opt)
.then(function(wo) {
console.log('client nodejs: funcs: ', wo)
function core(ps) {
wo.group.plus(ps)
.then(function(r) {
console.log('client nodejs: plus(' + JSON.stringify(ps) + ')=' + r)
})
.catch(function(err) {
console.log('client nodejs: plus: catch: ', err)
})
wo.group.div(ps)
.then(function(r) {
console.log('client nodejs: div(' + JSON.stringify(ps) + ')=' + r)
})
.catch(function(err) {
console.log('client nodejs: div: catch: ', err)
})
wo.add(ps)
.then(function(r) {
console.log('client nodejs: add(' + JSON.stringify(ps) + ')=' + r)
})
.catch(function(err) {
console.log('client nodejs: add: catch: ', err)
})
wo.minu(ps)
.then(function(r) {
console.log('client nodejs: minu(' + JSON.stringify(ps) + ')=' + r)
})
.catch(function(err) {
console.log('client nodejs: minu: catch: ', err)
})
}
let i = 100
setInterval(function() {
i += 1
core({
p1: i,
p2: 10,
})
}, 1000)
})
.catch(function(err) {
console.log('client nodejs: catch', err)
})
Note:
w-comor-mqtt-client
is mainly dependent onmqtt
.
[Optional] Add script with nomodule for IE11.
<script nomodule src="https://cdn.jsdelivr.net/npm/@babel/polyfill/dist/polyfill.min.js"></script>
[Necessary] Add script for mqtt.
<script src="https://cdn.jsdelivr.net/npm/mqtt@3.0.0/dist/mqtt.min.js"></script>
[Necessary] Add script for w-comor-mqtt-client.
<script src="https://cdn.jsdelivr.net/npm/w-comor-mqtt@1.0.36/dist/w-comor-mqtt-client.umd.js"></script>
w-comor-mqtt-client
:Link: [dev source code]
//opt
let opt = {
url: 'mqtt://localhost:8090', //for mqtt web server
token: '*',
open: function() {
console.log('client web: open')
},
close: function() {
console.log('client web: close')
},
error: function(err) {
console.log('client web: error:', err)
},
reconn: function() {
console.log('client web: reconn')
},
}
//WComorMqttClient
let WComorMqttClient = window['w-comor-mqtt-client']
new WComorMqttClient(opt)
.then(function(wo) {
console.log('client web: funcs: ', wo)
function core(ps) {
wo.group.plus(ps)
.then(function(r) {
console.log('client web: plus(' + JSON.stringify(ps) + ')=' + r)
})
.catch(function(err) {
console.log('client web: plus: catch: ', err)
})
wo.group.div(ps)
.then(function(r) {
console.log('client web: div(' + JSON.stringify(ps) + ')=' + r)
})
.catch(function(err) {
console.log('client web: div: catch: ', err)
})
wo.add(ps)
.then(function(r) {
console.log('client web: add('+JSON.stringify(ps)+')='+r)
})
.catch(function(err) {
console.log('client web: add: catch: ', err)
})
wo.minu(ps)
.then(function(r) {
console.log('client web: minu('+JSON.stringify(ps)+')='+r)
})
.catch(function(err) {
console.log('client web: minu: catch: ', err)
})
}
let i = 100
setInterval(function() {
i += 1
core({
p1: i,
p2: 10,
})
}, 1000)
})
.catch(function(err) {
console.log('client web: catch', err)
})
FAQs
A websocket communicator in nodejs and browser. Mapping functions from nodejs to other end points, like a simple RPC.
We found that w-comor-mqtt demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.