Node.JS服务器逐字符而不是逐行接收数据

时间:2012-10-31 09:13:43

标签: node.js telnet

我有一个简单的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方法中的所有输入,但可以在较低级别完成吗?

1 个答案:

答案 0 :(得分:1)

这是因为除非你使用linemode,否则telnet会在每个字符后刷新TCP缓冲区。