我有以下UseCase:
A创建一个聊天并邀请B和C-在服务器A上创建一个文件。A,B和C将消息写入此文件。A,B和C读取了此文件。
我想在服务器上创建一个文件并观察该文件,如果其他人向该文件中写入内容,则将新内容与websockets发送回去。
因此,我的node.js应用程序应观察到此文件的任何更改。
如何观察文件更改? 在不锁定文件的情况下使用节点js可以实现吗?
如果无法使用文件,则可以使用数据库对象(NoSQL)
好消息是您可以使用Node的API观察文件更改。
在弄清楚这些内容时,阅读Node.js API文档非常有用。这是宝贵的资源。:)
但是,这不能使您访问已写入文件的内容。您也许可以使用该fs.appendFile();函数,以便在将某些内容写入文件时,您会向其他事件发出事件,从而“记录”正在写入的新数据。
fs.appendFile();
fs.watch(): 直接从文档粘贴
fs.watch():
fs.watch('somedir', function (event, filename) { console.log('event is: ' + event); if (filename) { console.log('filename provided: ' + filename); } else { console.log('filename not provided'); } });
在此处阅读有关fs.watch()的信息;功能
编辑 :您可以使用该功能
fs.watchFile();
在这里阅读有关fs.watchFile();的内容。功能
这将使您可以查看文件中的更改。就是 每当其他类型的进程访问它时。