我目前正在开发一个使用dropbox c#应用程序接口的应用程序。
DropBox能够几乎立即捕获服务器上的更改以及客户端中的更改。
他们使用什么技术来同步这两个副本?
希望有人能给我一些开始的线索,我尽量避免基于定时器的同步。
谢谢。
发布于 2010-10-18 14:16:48
我不知道他们用什么。但是你可以使用c#的filesystemwatcher。这将允许您捕获文件更改事件。它不是最容易使用的东西,但使用起来很简单。
为了确保文件的旧版本不会覆盖新版本,我猜他们使用了版本计数器,这是经常发生的情况。
为了确定文件是否从当前存储的文件中更改,我想他们可能会使用许多检查
if (local[file.name].size != server[file.name].size)
{
file.changed = true;
}
else if (local[file.name].md5 != server[file.name].md5)
{
file.changed = true;
}
else
{
file.changed = false;
}发布于 2010-10-18 14:14:00
对于客户端更改,他们可能会使用文件系统监视器。如果dropbox文件夹中有变化,它们将触发API来更新dropbox服务器。
我不确定服务器端的更改,但应该有一些计时器机制来轮询服务器以查看更改。
发布于 2017-03-07 14:00:09
对于服务器端的更改,必须在V2接口中请求"list_folder_continue“。它将返回所做更改的列表。使用this链接进行测试。
https://stackoverflow.com/questions/3956845
复制相似问题