Files
xOld_appRoboticsDriver/robot/PythonSender.js
2025-12-27 20:24:47 +01:00

54 lines
1.5 KiB
JavaScript

module.exports = class PythonSender {
constructor(p = 9875){
const WebSocket = require('ws');
this.sockets = [];
this.server = new WebSocket.Server({port: p});
this.server.on('connection', (socket) => this.connectThis(socket));
}
msgThis(msg){
console.log("message:" + msg.toString())
this.sockets.forEach(s => s.send(msg));
}
closeThis(socket){
console.log("Python Receiver is closing the connection");
this.sockets = this.sockets.filter(s => s !== socket);
}
connectThis(socket) {
console.log("Python Receiver is connected")
this.sockets.push(socket);
// When you receive a message, send that message to every socket.
socket.on('message', (msg) => this.msgThis(msg));
// When a socket closes, or disconnects, remove it from the array.
socket.on('close', () => this.closeThis(socket));
}
send(m){
if((this.sockets.length) > 0){
this.sockets.forEach( s => s.send(m));
}
else{ console.warn("No sockets connected. Can't send the Message.");}
}
/*
if(this.pythonSender != null){
var strJSON = CANCreator.cmdMovement(this.motorPositionOld, this.motorPosition);
if(strJSON != '{"message":"empty"}'){
this.pythonSender.send(strJSON);
}
}
*/
}