Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import ws from 'ws'; import net from 'net'; const webSocketServer = new ws.Server({ port: 41271, path: '/si-external-application', }); webSocketServer.on('connection', (webSocket: WebSocket) => { let pipeUrl: string|undefined = undefined; let unixSocket: net.Socket|undefined = undefined; webSocket.addEventListener('message', (messageEvent) => { if (pipeUrl === undefined) { pipeUrl = messageEvent.data; Iif (pipeUrl === undefined) { return; } unixSocket = net.createConnection(pipeUrl); unixSocket.on('data', (data) => { const uint8Data = [...data]; console.log(`EXT => DEV: ${uint8Data}`); webSocket.send(JSON.stringify(uint8Data)); }); console.log(`Linked to ${pipeUrl}`); } else { Iif (messageEvent.data === '') { return; } const uint8Data = JSON.parse(messageEvent.data); console.log(`DEV => EXT: ${uint8Data}`); Iif (unixSocket === undefined) { return; } unixSocket.write(new Uint8Array(uint8Data)); } }); webSocket.addEventListener('close', () => { Iif (unixSocket === undefined) { return; } unixSocket.end(); console.log(`Unlinked ${pipeUrl}`); }); }); |