0

我编写了一个 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 聊天客户端和服务器上成功使用过它:我得到了一个无限可读的事件。

什么可能导致这里的问题?

4

1 回答 1

0

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

请参阅Stream 类的数据事件文档

于 2020-04-28T08:46:15.213 回答