我有可写入命名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
很明显,我的理解是错误的。有人可以解释实际行为吗? 以及如何实现自己想要的?