Spaces:
Runtime error
Runtime error
| var WebSocketServer = require('ws').Server; | |
| const PORT = 8888; | |
| var wss = new WebSocketServer({port: PORT}); | |
| var connections = []; | |
| console.log("Starting ml2scratch 0.0.1..."); | |
| console.log(""); | |
| console.log("Ctrl+C to stop"); | |
| console.log(""); | |
| console.log("Setup"); | |
| console.log("1. Open https://champierre.github.io/ml2scratch/"); | |
| console.log("2. Open https://scratchx.org/?url=https://champierre.github.io/ml2scratch/ml2scratch.js"); | |
| console.log(""); | |
| wss.on('connection', function(ws, req) { | |
| if (req.url == '/ml') { | |
| console.log('Machine Learning client is connected.'); | |
| } else if (req.url == '/scratchx') { | |
| console.log('ScratchX extension is connected.'); | |
| } | |
| connections.push(ws); | |
| ws.on('close', function() { | |
| console.log('Connection is closed.'); | |
| connections = connections.filter(function (conn, i) { | |
| return (conn === ws) ? false : true; | |
| }); | |
| }); | |
| ws.on('message', function(json) { | |
| console.log("Received " + json); | |
| data = JSON.parse(json); | |
| if (data.action == 'predict') { | |
| if (connections) { | |
| connections.forEach(function (conn, i) { | |
| conn.send(JSON.stringify({action: 'predict', value: data.value, label: data.label})); | |
| }); | |
| } | |
| } | |
| }); | |
| ws.on('error', function(e) { | |
| console.log(e); | |
| }); | |
| }); | |