Node JS中标准输入的可读事件的行为

问题描述 投票:0回答:1

我编写了一个UDP客户端,以将行从标准输入发送到UDP套接字:

var PORT = 12000;
var HOST = '127.0.0.1';

var dgram = require('dgram');

var client = dgram.createSocket('udp4');

process.stdin.on("readable",
  function() {
    var chunk = process.stdin.read();
    if (chunk !== null) {
      client.send(chunk, PORT, HOST);
    }
  }
);

client.on("message",
  function (message, remote) {
    process.stdout.write(message);
  }
);

现在,readable事件首次触发,但此后停止工作。

以前,我在TCP聊天客户端和服务器上成功使用了此函数:我得到了一个无限可读的事件。

什么在这里可能引起问题?

node.js event-handling stdin readable
1个回答
0
投票

如果我在标准输入上订阅data事件,该代码将起作用。每当我在标准输入中输入新行时,都会触发该事件。

请参见data event documentation at Stream class

© www.soinside.com 2019 - 2024. All rights reserved.