Files
appRobotSimulation/public/WebService.js
2026-02-01 19:56:01 +01:00

44 lines
1.6 KiB
JavaScript

var startTime = Date.now() ;
console.log("Meine Document-Location: " + document.location);
var lastPingRequest;
function isJson(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
var socketUrl = (location.protocol === 'https:' ? 'wss://' : 'ws://') + location.host + '/echo';
var socket = new WebSocket(socketUrl);
//var socket = new WebSocket(String(document.location).replace("https://","wss://").replace("1003","2095").replace("index.html","") + "echo");
//var socket = new WebSocket("wss://robot-ws.daniel-freund.de/echo");
//var socket = new WebSocket("wss://thinkcentre.local:2095/echo");
socket.onopen = () => console.log('Connected') || setInterval(() => { lastPingRequest = Date.now();
socket.send("Ping");
}, 5000);
socket.onclose = (event) => console.log((event.wasClean) ? 'Disconnected' : 'Connection break: ' + (event.reason || event.code));
socket.onmessage = (event) => {
if(event.data == "Ping"){
console.log("Ping: " + (Date.now() - lastPingRequest).toString() + " ms");
}
else if(isJson(event.data.toString())){
const obj = JSON.parse(event.data.toString());
robot.receiveCoordinates(obj)
console.log(obj);
robot.showRobot();
}
else{
console.log("xyt");
console.log('DATA SinceStartup: ' + (Date.now() - startTime).toString() +': ', event.data);
}
}
socket.onerror = (err) => console.error(err.message);