torinet
Version:
44 lines (32 loc) • 989 B
JavaScript
const io = require("socket.io-client");
const ip = require("ip");
function generateIP (cb) {
let device = 0;
while (true) {
if (device !== 255) {
device++;
}
const ipSplitted = ip.address().split(".");
const generatedIp = `${ipSplitted[0]}.${ipSplitted[1]}.${ipSplitted[2]}.${device}`;
device === 255 ? cb(generatedIp, true) : cb(generatedIp, false);
if (device === 255) return
}
}
function getDevices (cb) {
let devices = [];
generateIP((ip, last) => {
const socket = io(`http://${ip}:13785`);
socket.on("signal", response => {
devices.push(response)
socket.disconnect();
});
socket.emit("checkConnection");
if (last) {
setTimeout(() => cb(devices), 5000);
}
})
}
function scanner (cb) {
getDevices((devices) => cb(devices));
}
module.exports = scanner;