mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-26 15:02:21 +03:00
bug fixed
This commit is contained in:
@@ -133,12 +133,6 @@
|
|||||||
let deviceList = [];
|
let deviceList = [];
|
||||||
|
|
||||||
deviceList = [
|
deviceList = [
|
||||||
{
|
|
||||||
name: "Устройство 1",
|
|
||||||
id: "987654321",
|
|
||||||
ip: "192.168.88.230",
|
|
||||||
status: false,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Устройство 2",
|
name: "Устройство 2",
|
||||||
id: "987654321",
|
id: "987654321",
|
||||||
@@ -154,12 +148,13 @@
|
|||||||
function connectToAllDevices() {
|
function connectToAllDevices() {
|
||||||
let ws = 0;
|
let ws = 0;
|
||||||
deviceList.forEach((device) => {
|
deviceList.forEach((device) => {
|
||||||
if (debug) console.log("[i]", device.name, ws, device.ip, device.id);
|
if (debug) console.log("[i] list", device.name, ws, device.ip, device.id);
|
||||||
wsConnect(ws, device.ip);
|
|
||||||
wsEventAdd(ws);
|
|
||||||
device.ws = ws;
|
device.ws = ws;
|
||||||
|
wsConnect(ws);
|
||||||
|
wsEventAdd(ws);
|
||||||
ws++;
|
ws++;
|
||||||
});
|
});
|
||||||
|
deviceList = deviceList;
|
||||||
}
|
}
|
||||||
|
|
||||||
function markDeviceStatus(ws, status) {
|
function markDeviceStatus(ws, status) {
|
||||||
@@ -178,14 +173,29 @@
|
|||||||
deviceList = deviceList;
|
deviceList = deviceList;
|
||||||
}
|
}
|
||||||
|
|
||||||
function wsConnect(ws, ip) {
|
function wsConnect(ws) {
|
||||||
socket[ws] = new WebSocket("ws://" + ip + "/ws");
|
let ip = getIP(ws);
|
||||||
|
if (ip === "error") {
|
||||||
|
if (debug) console.log("[e]", "device list wrong");
|
||||||
|
} else {
|
||||||
|
socket[ws] = new WebSocket("ws://" + ip + "/ws");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getIP(ws) {
|
||||||
|
let ret = "error";
|
||||||
|
deviceList.forEach((device) => {
|
||||||
|
if (ws === device.ws) {
|
||||||
|
ret = device.ip;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
function wsEventAdd(ws) {
|
function wsEventAdd(ws) {
|
||||||
if (socket[ws]) {
|
if (socket[ws]) {
|
||||||
socket[ws].addEventListener("open", function (event) {
|
socket[ws].addEventListener("open", function (event) {
|
||||||
if (debug) console.log("[i]", "ws connected", myip);
|
if (debug) console.log("[i]", "ws connected", getIP(ws));
|
||||||
markDeviceStatus(ws, true);
|
markDeviceStatus(ws, true);
|
||||||
//socket[ws].send("HELLO");
|
//socket[ws].send("HELLO");
|
||||||
});
|
});
|
||||||
@@ -198,15 +208,17 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
socket[ws].addEventListener("close", (event) => {
|
socket[ws].addEventListener("close", (event) => {
|
||||||
if (debug) console.log("[e]", "ws close", myip);
|
if (debug) console.log("[e]", "ws close", getIP(ws));
|
||||||
markDeviceStatus(ws, false);
|
markDeviceStatus(ws, false);
|
||||||
wsConnect(ws);
|
wsConnect(ws);
|
||||||
});
|
});
|
||||||
socket[ws].addEventListener("error", function (event) {
|
socket[ws].addEventListener("error", function (event) {
|
||||||
if (debug) console.log("[e]", "ws error", myip);
|
if (debug) console.log("[e]", "ws error", getIP(ws));
|
||||||
markDeviceStatus(ws, false);
|
markDeviceStatus(ws, false);
|
||||||
wsConnect(ws);
|
wsConnect(ws);
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
if (debug) console.log("[e]", "socket not exist");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -218,16 +230,17 @@
|
|||||||
|
|
||||||
function wsTestMsgTask() {
|
function wsTestMsgTask() {
|
||||||
setTimeout(wsTestMsgTask, 10000);
|
setTimeout(wsTestMsgTask, 10000);
|
||||||
wsSendMsg(0, "test");
|
deviceList.forEach((device) => {
|
||||||
|
wsSendMsg(device.ws, "test");
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function wsSendMsg(ws, msg) {
|
function wsSendMsg(ws, msg) {
|
||||||
if (socket[ws] && socket[ws].readyState === 1) {
|
if (socket[ws] && socket[ws].readyState === 1) {
|
||||||
socket[ws].send(msg);
|
socket[ws].send(msg);
|
||||||
if (debug) console.log("[i]", "msg send success:", msg);
|
if (debug) console.log("[i]", ws, "msg send success:", msg);
|
||||||
} else {
|
} else {
|
||||||
if (debug) console.log("[i]", "msg not send, try reconnected...", msg);
|
if (debug) console.log("[e]", ws, "msg not send", msg);
|
||||||
wsConnect(ws);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -291,10 +304,8 @@
|
|||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
console.log("[i]", "mounted");
|
console.log("[i]", "mounted");
|
||||||
connectToAllDevices();
|
connectToAllDevices();
|
||||||
//wsTestMsgTask();
|
wsTestMsgTask();
|
||||||
//wsEventAdd();
|
|
||||||
findNewPage();
|
findNewPage();
|
||||||
//deviceListExecution();
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user