45 lines
2.0 KiB
JavaScript
45 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
const Socket = require('net').Socket;
|
|
const MAX_CONN = 5000; // 6000;
|
|
// var testId = 0;
|
|
|
|
async function run() {
|
|
for (let i = 10; i < MAX_CONN + 10; i++) {
|
|
let socket = new Socket();
|
|
socket.connect({ host: 'localhost', port: 6080 });
|
|
socket.id = i;
|
|
|
|
let interval = setInterval(() => {
|
|
// Test AgNav
|
|
socket.write(Buffer.from('FBFBF7', 'hex'));
|
|
// socket.write(Buffer.from('75030000983DB15E', 'hex'));
|
|
const buf = Buffer.alloc(8);
|
|
buf.writeInt32LE(socket.id, 0); // Id
|
|
buf.writeInt32LE(new Date().getTime() * 1e-3, 4); // epoch Time in secs
|
|
// console.log(buf.toString('hex'));
|
|
socket.write(buf);
|
|
socket.write(Buffer.from('655DA9C16A435DC2F10101E002440064007900000000000000110D0D0A', 'hex'));
|
|
|
|
// socket.write(Buffer.from('FBFBF71A46F72D3E7F975E655DA9C16A435DC2F10101E002440064007900000000000000110D0D0A', 'hex'));
|
|
|
|
// Invalid Agnav
|
|
// socket.write(Buffer.from('EFD1EB41FF5BA2C26F000094013E00765200000500280100002B0D0D0AEFD1EB41', 'hex'));
|
|
// socket.write(Buffer.from('EFD1EB41FF5BA2C26F000094013E00765200000500280100002B0D0D0AEFD1EB41', 'hex'));
|
|
// socket.write(Buffer.from('EFD1EB41FF5BA2C26F000094013E00765200000500280100002B0D0D0AEFD1EB41', 'hex'));
|
|
// socket.write(Buffer.from('EFD1EB41FF5BA2C26F000094013E00765200000500280100002B0D0D0AEFD1EB41', 'hex'));
|
|
// socket.write(Buffer.from('EFD1EB41FF5BA2C26F000094013E00765200000500280100002B0D0D0AEFD1EB41', 'hex'));
|
|
// socket.write(Buffer.from('EFD1EB41FF5BA2C26F000094013E00765200000500280100002B0D0D0AEFD1EB41', 'hex'));
|
|
}, 10000 + i);
|
|
|
|
socket.on('close', () => clearInterval(interval));
|
|
socket.on('error', console.error);
|
|
socket.on('data', d => console.log(d));
|
|
}
|
|
}
|
|
run().catch(console.error);
|
|
|
|
// Keep wait for input to stdin
|
|
// process.stdin.read();
|
|
|
|
// Test multiple clients: for i in {1..1}; do node ./test_client.js & done
|