2008-11-25 97 views
3

我在分布式系统的大学课程中正在执行一个项目。我正在计划创建类似于Dropbox(getdropbox.com)的东西,但是会有一些非集中的点对点转换。为此,我需要一些检测目录结构变化的方法。你如何看待Dropbox做到这一点?他们的实施工作非常好。我想知道他们是否使用Windows上的win32 api中的FileSystemWatcher,以及类似的和依赖于Linux和Mac的平台。如何查看文件系统以进行更改

回答

1

据我所知,DropBox的(等)采用的是Windows服务(或Linux/Mac端的守护进程)来监视文件系统。在.Net中创建这种方法非常简单,这种情况通常是Windows服务的教科书示例。我相信在C++中做类似的事情也是相当直接的。

下面是一个关于如何在Windows上创建服务的.Net简单教程的链接。你需要为你的解决方案做的所有事情是在Timer.Tick()事件中添加你的监视器逻辑。

http://www.developer.com/net/csharp/article.php/2173801

+1

我可能会误解你打算在这里做什么。添加逻辑到计时器刻度?这是否意味着你打算得到一个目录列出每个勾号并进行比较?没有!不要这样做! – 2009-11-25 21:36:17

3

在Linux方面,有个可怕的无证inotify的。如果你不介意使用glib,那么GFileMonitor类很容易使用。我认为它不是可移植的,所以它将仅限于Linux。

相关问题