Send and receive data over WebSockets
const socketUrl = 'ws://example.org';const device = { isConnected: false, isReady: false };log.debug(`Connecting to: ${socketUrl}`);const socket = webSockets.createWebSocket(socketUrl);socket.on('message', raw => { try { const data = JSON.parse(raw); if (obj.type === 'device') { // Set the device status to ready device.isReady = obj.status === 'ready'; launchMonitor.updateDeviceStatus(device); } else if (data.type === 'shot') { launchMonitor.sendShot({ ballSpeed: data.shot.speed, verticalLaunchAngle: data.shot.vla, horizontalLaunchAngle: data.shot.hla, spinSpeed: data.shot.totalspin, spinAxis: data.shot.spinaxis }); } } catch (error) { console.error('Unable to parse message', error); }});socket.on('open', () => { device.isConnected = false; launchMonitor.updateDeviceStatus(device);});socket.on('close', () => { device.isConnected = false; launchMonitor.updateDeviceStatus(device);}); Copy
const socketUrl = 'ws://example.org';const device = { isConnected: false, isReady: false };log.debug(`Connecting to: ${socketUrl}`);const socket = webSockets.createWebSocket(socketUrl);socket.on('message', raw => { try { const data = JSON.parse(raw); if (obj.type === 'device') { // Set the device status to ready device.isReady = obj.status === 'ready'; launchMonitor.updateDeviceStatus(device); } else if (data.type === 'shot') { launchMonitor.sendShot({ ballSpeed: data.shot.speed, verticalLaunchAngle: data.shot.vla, horizontalLaunchAngle: data.shot.hla, spinSpeed: data.shot.totalspin, spinAxis: data.shot.spinaxis }); } } catch (error) { console.error('Unable to parse message', error); }});socket.on('open', () => { device.isConnected = false; launchMonitor.updateDeviceStatus(device);});socket.on('close', () => { device.isConnected = false; launchMonitor.updateDeviceStatus(device);});
Send and receive data over WebSockets
Example