我在Professional Node.js中编写了一个基本的TCP客户端。
//TCP Client
var net = require('net');
var port = 4000;
var conn;
process.stdin.resume();
(function connect() {
conn = net.createConnection(port);
conn.pipe(process.stdout, {end: false});
process.stdin.pipe(conn);
process.stdin.on('data', function(data) {
if (data.toString().trim().toLowerCase() === 'quit') {
conn.end();
process.stdin.pause();
}
});
}());
当用户输入'quit'时,我希望该进程结束与TCP服务器的连接并停止接受来自STDIN
的输入。
当我现在这样做时,我收到以下错误:
> quit
ReferenceError: quit is not defined
在此之后,我的if
语句中的代码未运行。
我该如何解决这个问题?
答案 0 :(得分:0)
REPL已经从stdin读取了。您需要在REPL之外执行脚本,这样除了脚本之外没有任何拦截标准输入。