Untitled

 avatar
unknown
plain_text
23 days ago
1.1 kB
2
Indexable
// listener.js

const { stdin, stdout } = process;

// Funktion, die wartet, dass der Prozess eine Eingabe erhält
function listenForInput() {
  stdout.write('Bitte eine Eingabe machen: ');

  stdin.once('data', (input) => {
    // Entfernen von extra Leerzeichen und Zeilenumbrüchen
    const userInput = input.toString().trim();

    if (userInput === 'exit') {
      console.log('Prozess wird beendet.');
      process.exit();
    } else {
      console.log(`Eingabe erhalten: ${userInput}`);
      listenForInput(); // Auf nächste Eingabe warten
    }
  });
}

// Starte den Listener
listenForInput();


// sender.js

import { spawn } from 'child_process';

// Starte den Listener-Prozess
const listener = spawn('node', ['listener.js']);

// Daten an den Listener senden
function sendInput(input) {
  listener.stdin.write(input + '\n'); // Eingabe senden
}

// Beispiel-Eingaben
setTimeout(() => sendInput('Hallo, Listener!'), 2000);
setTimeout(() => sendInput('Wie geht es dir?'), 4000);
setTimeout(() => sendInput('exit'), 6000); // Beende den Prozess nach der Eingabe
Editor is loading...
Leave a Comment