0

我有一个简单的 Node.JS 服务器:

//Module dependencies
var net = require('net')


//Create server
var server = net.createServer(function (conn) {

  // handle connection
  conn.setEncoding('utf8');

  conn.write(
      'Hi, please enter something: '
  );

  conn.on('data', function (data) {
    console.log(data);
  });

});


//Listen
server.listen(3000, function () {
  console.log('\033[96m   server listens at *:3000\033[39m');
});

它应该在服务器的控制台窗口中回显客户端的输入。但是当我使用 telnet 客户端连接到服务器时,它是通过逐个字符输出来实现的,而我宁愿它在按 Enter 时逐行输出。

我知道我无法收集conn.on方法中的所有输入,但可以在较低级别上完成吗?

4

1 回答 1

1

这是因为 telnet 在每个字符之后都会刷新 TCP 缓冲区,除非您使用linemode

于 2012-10-31T09:20:17.847 回答