systemquery/src/subcommands/test-server/test-server.mjs

31 lines
936 B
JavaScript

"use strict";
import net from 'net';
import log from '../../io/NamespacedLog.mjs'; const l = log("test-server");
import settings from '../../settings.mjs';
import Connection from '../../lib/transport/Connection.mjs';
export default async function() {
const test_key = "H7xKSxvJFoZoNjCKAfxn4E3qUzY3Y/4bjY+qIzxg+78=";
const server = net.createServer(async (client) => {
l.log("client connected");
const connection = await Connection.Wrap(test_key, client);
connection.send("test-server", "hello\n");
connection.on("message", (_event, _msg) => {
// noop
//l.log(`<<< ${event}: ${JSON.stringify(msg)}`);
});
let id = setInterval(async () => {
const rt = await connection.send("test-server", (new Date()).toString());
if(!rt)
clearTimeout(id);
}, 1000);
});
server.on("error", (error) => { throw error; });
server.listen(settings.cli.port, () => l.log(`Listening on port ${settings.cli.port}`));
}