【问题标题】:The behaviour of standard input's readable event in Node JSNode JS 中标准输入可读事件的行为
【发布时间】:2020-08-03 23:31:50
【问题描述】:

我编写了一个 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】:

    如果我在标准输入上订阅 data 事件,则代码有效。每次我在标准输入中键入新行时都会触发。

    见data event documentation at Stream class。

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 2015-10-09
      • 2012-06-08
      相关资源
      最近更新 更多