From c6dbf0450566c40efc4a26f4f0717452b6ef95cd Mon Sep 17 00:00:00 2001 From: Minteck Date: Wed, 10 Aug 2022 10:38:44 +0200 Subject: Initial commit --- server/index.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 server/index.js (limited to 'server/index.js') diff --git a/server/index.js b/server/index.js new file mode 100644 index 0000000..b0bfd42 --- /dev/null +++ b/server/index.js @@ -0,0 +1,39 @@ +const cp = require('child_process'); +let processes = {}; + +let serverlets = [ + "authentication", + "keyserver", + "profile", + "verification", + "presence", + "conversation" +] + +for (let serverlet of serverlets) { + startServerlet(serverlet); +} + +function startServerlet(serverlet) { + console.log("Starting " + serverlet + "..."); + processes[serverlet] = cp.spawn("node", [ "hornchat." + serverlet + ".js" ], { stdio: "pipe" }); + console.log("[" + serverlet + "] (PID: " + processes[serverlet].pid + ")") + + processes[serverlet].stdout.on('data', (data) => { + let lines = data.toString().trim().split("\n"); + for (let line of lines) { + console.log("[" + serverlet + "] " + line); + } + }) + + processes[serverlet].stderr.on('data', (data) => { + let lines = data.toString().trim().split("\n"); + for (let line of lines) { + console.error("[" + serverlet + "] " + line); + } + }) + + processes[serverlet].on('close', () => { + startServerlet(serverlet); + }) +} \ No newline at end of file -- cgit