I have a WebSocket connection that is firing three times for every message received from the server.
I have also attached an print screen of the browser logs. 
I have verified that the server is sending the message only once. I am not sure what other details I can provide to explain this better. If any come to mind please write a comment and I will make sure to include them.
Thank you for your time :)
function openWebSocket() {
socket = new WebSocket("ws://192.168.4.1/ws");
socket.onopen = function(e) {
setInterval(function() {
// Call a function repetatively with 2 Second interval
getServerValue("Programming_time");
getServerValue("Write_request");
}, 500); //mSeconds update rate
console.log("socket opened!");
};
socket.onmessage = function(event) {
//console.log(event.data);
console.log("message received");
console.log(event.data);
ws_parse_message(event.data);
};
socket.onclose = function(event) {
if (event.wasClean) {
//alert(`[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`);
} else {
// e.g. server process killed or network down
// event.code is usually 1006 in this case
//alert('[close] Connection died');
}
};
socket.onerror = function(error) {
//alert(`[error] ${error.message}`);
console.log(error.message);
};
}
function getServerValue(key) {
socket.send(key);
}
function ws_parse_message(ws_message) {
const parsedJson = JSON.parse(ws_message);
if(parsedJson.json_type == "simple")
{
//console.log('Simple json received');
//console.log(parsedJson);
Object.keys(parsedJson).forEach(function(key) {
if(key == "Programming_time")
{
console.log("programming time received" + parsedJson.Programming_time);
if(parsedJson.Programming_time != "Undefined" && (!(isNaN(parsedJson.Programming_time))))
{
document.getElementById('timeId').innerHTML = parsedJson.Programming_time;
if(parseInt(parsedJson.Programming_time) <= 0)
{
checkNumberPresentedCards();
//undisable buttons
document.getElementById("btnAddCardId").classList.remove("disabled-button");
document.getElementById("btnDoneId").classList.remove("disabled-button");
}
}
}
});
}
else if(parsedJson.json_type == "cards")
{
console.log('Cards json received');
//console.log(parsedJson);
newCard = 1;
cardsJson = parsedJson;
document.getElementById("typeid").innerHTML = "Access Key programmed SN: " //myjson.card[0].type;
document.getElementById("snid").innerHTML = cardsJson.card[0].sn;
animateNotification();
updatePresentedCards();
}
}
Aucun commentaire:
Enregistrer un commentaire