一个文件监视所有socket.io连接

时间:2013-03-25 01:59:22

标签: node.js socket.io

我有一个监视文件更改的应用程序。文件更改后,会向所有socket.io客户端发出一个事件。这是代码:

io.sockets.on('connection', function(socket) {
    fs.watchFile('./file.txt', {persistent:true}, function(data) {
        socket.emit('server', {message: 'File changed'});
    });
});

我的问题是,上面的代码运行文件监视进程和socket.io客户端连接一样多吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

是的,每次客户端连接到服务器时,您的代码都会运行fs.watchFile(),而您可以尝试。

io.sockets.on('connection',function(socket){
 socket.emit('server',{message:'hello'});
});
// the code below will check for change every 100secs and emit a message to all clients of / , and inform that the file has changed
fs.watchFile('FILE',{persistent:true,interval:100000,function(data){
 io.emit('server',{message:'FileChanged'};
}