DropBox同步技术

时间:2010-10-18 05:49:54

标签: c# synchronization dropbox

我目前正在使用dropbox c#API开发应用程序。

DropBox能够立即捕获服务器上的更改以及客户端中的更改。

他们使用什么技术来同步这两个副本?

希望有人能为我提供一些线索,我尽量避免计时器基本同步。

感谢。

3 个答案:

答案 0 :(得分:1)

我不知道他们使用了什么。但是您可以使用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;
}

答案 1 :(得分:0)

对于客户端更改,他们可能会使用文件系统观察程序。如果dropbox文件夹中有更改,则会触发API以更新投递箱服务器。

我不确定服务器端的更改,但应该有一些计时器机制来轮询服务器以查看更改..

答案 2 :(得分:0)

对于服务器端更改,您必须在V2 api中请求“list_folder_continue”。它将返回所做更改的列表。使用this链接进行测试。