用python和node命名的FIFO管道

时间:2018-12-27 18:33:09

标签: python node.js named-pipes mkfifo

我有可写入命名FIFO的python服务器和可从其中读取的nodejs客户端。

Python

def send_data():
  print "enter"
  f = open(FILEPATH, 'w', 0)
  str = "new data"
  f.write(str)
  f.flush()
  f.close()

while True:
  send_data()

NodeJS客户端

const read = function () {
  console.log("enter");
  fs.readFile(FILEPATH, (err, data) => {
    if (err) {
        console.log(err);
    }
    else {
        console.log(data.toString());
    }
    setTimeout(read, 10);
  });
};
read();

我希望python一次写入“新数据”并关闭FIFO和nodejs一个“新数据”。 我希望输出是这样的 输入 新数据 输入 新数据

但实际输出是

enter
new data
enter
new datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew datanew 

很明显,我的理解是错误的。有人可以解释实际行为吗? 以及如何实现自己想要的?

0 个答案:

没有答案