Lab_interaccio/2019/GIGANTES-MERCE/websocket-client/mWebSockets/node.js/sendFile.js
2025-02-25 21:29:42 +01:00

38 lines
1.1 KiB
JavaScript

const WebSocket = require('ws');
const FileSystem = require('fs');
const wss = new WebSocket.Server({ host: '192.168.46.10', port: 3000 });
wss.on('connection', function connection(ws, req) {
ws.remoteAddress = req.connection.remoteAddress.replace(/^.*:/, '');
console.log(`new client: ${ws.remoteAddress}`);
ws.on('message', function(message) {
console.log(`[${ws.remoteAddress}] > ${typeof message}:`, message);
});
ws.on('close', function(code, reason) {
console.log(`[${ws.remoteAddress}] client disconnected: ${code} "${reason}"`);
});
ws.on('error', function(err) {
console.log(`[${ws.remoteAddress}] error:`, err);
});
ws.on('ping', function() {
console.log(`[${ws.remoteAddress}] > ping`);
});
ws.send('Hello from Node.js!', { fin: true });
FileSystem.readFile('test.rar', (err, data) => ws.send(data) );
setTimeout(() => {
console.log(`disconnecting ${ws.remoteAddress} ...`);
ws.close();
}, 60000);
});
wss.on('listening', function() {
let remote = this.address();
console.log(`Server running at ${remote.address}:${remote.port}`);
});