简体   繁体   中英

Running external programs through nodejs and interacting with browser through socket.io

While trying to create a tool(with nodejs, socket.io) which runs an external program (eg a C program or a Python program), the program stops responding when it encounters the user input (it sends the line asking input to browser though).

On Server:

    var chunk = '';
    python.stdout.on('data', function(data){
    python.stdout.pipe(python.stdin);
        chunk += data;
        console.log(chunk);
        socket.emit('newdata', chunk);
    } );

On Client:

    socket.on('newdata', function(d){
     var output = document.getElementById('output');
     output.innerHTML = d;
   })

Everything is working fine in fact, the only problem is that the program you launched requires a user input and your node.js code is not giving it.

Tbh I don't know if you can give an input when it asks for it... but can't you pass arguments at the start of the program to avoid this user input? It's how I solved it on the same system done with Java/J2EE

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM