agmission/Development/gps-server/test-agn-tcp-client.js

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