1

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

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

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

希望有人能给我一些开始的线索,我尽量避免定时器基同步。

谢谢。

4

3 回答 3

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;
}
于 2010-10-18T06:16:48.083 回答
0

对于客户端更改,他们可能会使用文件系统观察程序。如果 Dropbox 文件夹发生变化,它们会触发 API 更新 Dropbox 服务器。

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

于 2010-10-18T06:14:00.287 回答
0

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

于 2017-03-07T06:00:08.927 回答